我正在尝试使用AS2从Flash CS4中导入的图片(JPG)中删除颜色。
我在发布时加载了一堆JPG图像,其中包含一个颜色(华丽的绿色0,255,0),我想删除它以便透视。
JPG不支持alpha,我认为flash不会为加载的文件添加alpha图层?
如果加载的图像有alpha图层,我可以为每个像素将alpha设置为0,但我不知道如何继续...
有人知道吗?或者只是如果可能的话?或任何关于如何实现这一目标的想法?
很多
答案 0 :(得分:1)
您需要做的是将数据加载到BitmapData对象中。你这样做是这样的:
var bitmapData:BitmapData = new BitmapData(image._width, image._height, true);
bitmapData.draw(image);
然后你需要使用阈值方法将绿色换成另一种颜色。这是一个非常强大的方法,虽然使用起来有点棘手。
bitmapData = bitmapData.threshold(bitmapData, new Rectangle(0, 0, image._width, image._height), new Point(0, 0), "==", 0x00CCCCCC, 0x000000FF, 0x00FF0000, false);
最后,您将BitmapData绘制到要显示的Bitmap对象中。