首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Actionscript:用于Photoshop亮度调整的ColorMatrixFilter?

Actionscript:用于Photoshop亮度调整的ColorMatrixFilter?
EN

Stack Overflow用户
提问于 2013-07-25 15:36:22
回答 1查看 417关注 0票数 0

我有一个B/W的图片,我需要做一些调整它-我需要增加它的‘能见度’(它太灰色,我需要使它更深)。有人知道如何在AS3中再现Photoshop的亮度调节吗?请注意,这与调整Flash中的亮度不一样。区别是:

  • 在PS:亮度调整只有像素有不同的颜色与白色。它对白色像素没有任何作用,因此白色像素实际上保持白色。
  • 在PS:亮度调整所有像素,因此它也影响白色像素。光线下降会使所有的图像变得更暗;这对我来说是不可用的,这也正是Flash所做的(尽管它在那里被称为“亮度”)。

我可以用这个矩阵再现Flash的亮度:

代码语言:javascript
复制
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);

...however --这正是不工作的地方,因为它将所有的图像设置为更暗,包括白色部分。

有什么想法如何再现PS的刚强设置?或者任何其他矩阵,实际上保持白色/光像素的光线,同时使较暗的?谢谢!

EN

回答 1

Stack Overflow用户

发布于 2013-07-25 21:10:47

我怀疑这完全复制了Photoshop的“亮度”(更像是调整对比度),但是您可以尝试缩放RGB值,然后调整它们以使白色保持白色:

代码语言:javascript
复制
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);

如果您想要一个更传统的对比,调整如下:

代码语言:javascript
复制
var value:Number = 255 * (1 - scaling) * 0.5;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17862553

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档