【问题标题】:AS3 changing H/S/B/C of a colorAS3变色H/S/B/C
【发布时间】:2014-04-18 20:24:41
【问题描述】:

我正在尝试创建一个简单的绘图应用程序,允许用户使用滑块更改其颜色的色调、饱和度、亮度和对比度。我一直在环顾四周,这就是我想出的全部,我需要一些帮助来确定它为什么不起作用。

var colourFilter:AdjustColor = new AdjustColor();
var mColourMatrix:ColorMatrixFilter;
var mMatrix:Array;

brightSL.addEventListener(SliderEvent.CHANGE,changecol) // brightSL would be the brightness slider
contSL.addEventListener(SliderEvent.CHANGE,changecol)
satSL.addEventListener(SliderEvent.CHANGE,changecol)
hueSL.addEventListener(SliderEvent.CHANGE,changecol)


function changecol (SliderEvent):void {
colourFilter.brightness = brightSL.value;
colourFilter.contrast = contSL.value;
colourFilter.saturation = satSL.value;
colourFilter.hue = hueSL.value;

mMatrix = colourFilter.CalculateFinalFlatArray();
mColourMatrix= new ColorMatrixFilter(mMatrix);

selectedColor.filters = [mColourMatrix]; // selectedColor is the color the user is currently using
    board.graphics.lineStyle(sizeSlider.value, selectedColor, alphaSlider.value)
  }

问题是颜色没有改变,我不知道为什么。任何帮助将不胜感激

【问题讨论】:

  • 在所有滑块至少移动一次之后,您是否看到任何变化?

标签: actionscript-3 colors brightness contrast


【解决方案1】:

我不是绝对肯定的,但我认为问题在于您没有确保在创建实例后设置 AdjustColor 对象上的所有属性。尝试改变

var colourFilter:AdjustColor = new AdjustColor();
var mColourMatrix:ColorMatrixFilter;
var mMatrix:Array;

var colourFilter:AdjustColor = new AdjustColor();
colourFilter.brightness = 0;
colourFilter.contrast = 0;
colourFilter.saturation = 0;
colourFilter.hue = 0;
var mColourMatrix:ColorMatrixFilter;
var mMatrix:Array;

如果这可行但不适合您的用例,使用 AdjustColor.AllValuesAreSet() 可能会有所帮助。

【讨论】:

  • 抱歉,我有点忙,回复晚了,当我尝试运行您的代码时,我遇到了两个错误。 “1046:未找到类型或不是编译时常量:AdjustColor。”和“1180:调用可能未定义的方法 AdjustColor。”
  • 听起来您也需要导入:“import fl.motion.AdjustColor;”
  • 嗯,修复了错误,但没有改变任何东西,滑块仍然不起作用:/
  • 奇数。 colourFilter.AllValuesAreSet() 上的跟踪是否返回 true?什么样的对象是selectedColor?我猜更多的上下文会有所帮助。
  • AdjustColor 用于电影剪辑吗?如果是这样,那就是它不起作用的原因。我认为问题在于我将过滤器应用于什么。我将它应用于颜色而不是图像,所以我认为这不起作用,但我不确定。还有其他方法可以改变颜色的 h/s/b/v 吗?
猜你喜欢
  • 1970-01-01
  • 2018-10-11
  • 2019-04-27
  • 1970-01-01
  • 1970-01-01
  • 2019-01-07
  • 1970-01-01
  • 2015-02-19
  • 1970-01-01
相关资源
最近更新 更多