加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

flash – AS3:如何将彩色位图的BitmapData更改为黑白?

发布时间:2020-12-15 19:47:59 所属栏目:百科 来源:网络整理
导读:如何在AS3中将彩色位图的位图数据更改为黑白? 我正在为flash中的CMS开发一个简单的图像编辑器工具. 人们应该能够将上传的位图的颜色切换为黑白.我希望bitmapdata本身改变所以我可以用Adobe的JPGEncoder类将其写入ByteArray. 解决方法 这将是我认为最优雅的
如何在AS3中将彩色位图的位图数据更改为黑白?
我正在为flash中的CMS开发一个简单的图像编辑器工具.

人们应该能够将上传的位图的颜色切换为黑白.我希望bitmapdata本身改变所以我可以用Adobe的JPGEncoder类将其写入ByteArray.

解决方法

这将是我认为最优雅的解决方案(源代码为BitmapData):

const rc:Number = 1/3,gc:Number = 1/3,bc:Number = 1/3;
source.applyFilter(source.bitmapData,source.bitmapData.rect,new Point(),new ColorMatrixFilter([rc,gc,bc,rc,1,0]));

使用flash.geom :: Point和flash.filters :: ColorMaxtrixFilter …

ColorMatrixFilter允许很多东西,比如色调偏移,色彩,闪电,变暗和去饱和等等……否则BitmapData :: paletteMap和BitmapData :: colorTransform是很好的补充……

只是想注意,使用以下内容

const rc:Number = 1/3,gc:Number = 1/2,bc:Number = 1/6;

看起来更自然,因为主观上,#00FF00比#FF0000更亮,后者反过来比#0000FF更亮

那么祝你好运吧 …

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读