Apache flex 在Flex中过滤掉除特定颜色以外的所有图像
假设我在Flex中有一个图像,我想对它进行过滤,以便只有绿色像素可见 例如,此图像: 将在屏幕上显示为:Apache flex 在Flex中过滤掉除特定颜色以外的所有图像,apache-flex,flash,actionscript-3,air,Apache Flex,Flash,Actionscript 3,Air,假设我在Flex中有一个图像,我想对它进行过滤,以便只有绿色像素可见 例如,此图像: 将在屏幕上显示为: 如何在Actionscript/Flex中实现这一点?您可以尝试将chromakey效果应用于位图和BitmapData类。请参阅位于的教程,您可以尝试将chromakey效果应用于位图和BitmapData类。请参阅位于的教程,您可以使用BitmapaData类的方法轻松完成此操作 基本上,制作图像的副本。然后使每个未能通过阈值测试的像素完全透明。这种情况下的测试可能是pixel!=你
如何在Actionscript/Flex中实现这一点?您可以尝试将chromakey效果应用于位图和BitmapData类。请参阅位于的教程,您可以尝试将chromakey效果应用于位图和BitmapData类。请参阅位于的教程,您可以使用BitmapaData类的方法轻松完成此操作 基本上,制作图像的副本。然后使每个未能通过阈值测试的像素完全透明。这种情况下的测试可能是
pixel!=你的绿荫
示例代码:
var color:uint = 0xff22b14c;
var bmd:BitmapData = new BitmapData(image.width,image.height,true);
bmd.draw(image);
bmd.threshold(bmd,new Rectangle(0,0,image.width,image.height),new Point(0,0),"!=",color,0,0xffffffff);
addChild(new Bitmap(bmd));
再多做一点工作,您就可以隔离颜色范围,但对于您的情况中的纯色,这应该可以做到。您可以使用BitmapaData类的方法轻松做到这一点 基本上,制作图像的副本。然后使每个未能通过阈值测试的像素完全透明。这种情况下的测试可能是
pixel!=你的绿荫
示例代码:
var color:uint = 0xff22b14c;
var bmd:BitmapData = new BitmapData(image.width,image.height,true);
bmd.draw(image);
bmd.threshold(bmd,new Rectangle(0,0,image.width,image.height),new Point(0,0),"!=",color,0,0xffffffff);
addChild(new Bitmap(bmd));
通过更多的工作,您可以隔离颜色范围,但对于您的情况中的纯色,这应该可以做到