CopyPixels / MergeAlpha改变颜色AS3

时间:2013-03-15 04:06:35

标签: actionscript-3 colors bitmapdata

我正在做一个涂抹工具。我使用以下方法 -

1)在brushAlpha(bitmapData)上绘制圆圈。

2)_orignalData.copyPixels(_orignalData, new Rectangle(oldMouseX, oldMouseY, diameter, diameter), new Point(mouseX,mouseY), brushAlpha, new Point(0,0), true);

这会产生所需的涂抹效果,但它也会将像素的颜色更改为原色(RGB),例如,如果像素的颜色为0xFF8800,则会使其为0xFF0000(红色),或者如果像素颜色为0x0088FF,则会产生它是0x0000FF

orignalData是一个透明的位图数据,初始颜色设置为0x000000;

这种效果是否由mergealpha引起? 请帮忙

编辑 - 我做了一些测试,我得到了这些结果 -

backgroundColor = 0x00000000,foregroundColor = 0xffdaff00 result = 0x00ff00(绿色)

backgroundColor = 0xFFFFFFFF,foregroundColor = 0xffdaff00 result = 0xFFFF00(黄色)

backgroundColor = 0xFF0000FF,foregroundColor = 0xffdaff00 result = 0x00ff00(绿色)+当过度使用时变黑;

backgroundColor = 0xFF11FF88,foregroundColor = 0xffdaff00 结果= 0x00ff00(绿色)+过度污迹时没有黑色

我尝试了其他一些颜色,如

backgroundColor = 0xFFFFFFFF,foregroundColor = 0xFF888800 结果= 0x808000

backgroundColor = 0x0000000,foregroundColor = 0xFF888800 result = 0x000000

有人能告诉我们这里发生了什么吗?

0 个答案:

没有答案