Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex 在Flex中过滤掉除特定颜色以外的所有图像_Apache Flex_Flash_Actionscript 3_Air - Fatal编程技术网

Apache 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!=你

假设我在Flex中有一个图像,我想对它进行过滤,以便只有绿色像素可见

例如,此图像:

将在屏幕上显示为:


如何在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));
通过更多的工作,您可以隔离颜色范围,但对于您的情况中的纯色,这应该可以做到