我有一个B / W图片,我需要对它进行一些调整 - 我需要增加它的“可见性”(它太灰了,我需要让它变暗)。有人知道如何在AS3中重现Photoshop的亮度调整吗?请注意,这与调整Flash中的亮度不同。区别在于:
我可以用这个矩阵重现Flash的亮度:
var m:Array = new Array();
m = m.concat([1, 0, 0, 0, value]); // red
m = m.concat([0, 1, 0, 0, value]); // green
m = m.concat([0, 0, 1, 0, value]); // blue
m = m.concat([0, 0, 0, 1, 0]); // alpha
new ColorMatrixFilter(m);
...然而,这正是不能正常工作的原因,因为它将所有图像设置得更暗,包括白色部分。
如何重现PS的brigthness设置?或者任何其他矩阵实际上保持白/亮像素亮,同时使较暗像素变暗?谢谢!
答案 0 :(得分:0)
我怀疑这会完全复制Photoshop的“亮度”(更像是调整对比度),但你可以尝试缩放RGB值,然后调整它们以使白色保持白色:
var scaling:Number = 4;
var adjustment:Number = 255 * (1 - scaling);
var m:Array = new Array();
m = m.concat([scaling, 0, 0, 0, adjustment]); // red
m = m.concat([0, scaling, 0, 0, adjustment]); // green
m = m.concat([0, 0, scaling, 0, adjustment]); // blue
m = m.concat([0, 0, 0, 1, 0]); // alpha
new ColorMatrixFilter(m);
如果你想要更传统的对比度,调整将是:
var value:Number = 255 * (1 - scaling) * 0.5;