Flash 如何将特定颜色设置为透明?

Flash 如何将特定颜色设置为透明?,flash,actionscript-3,bitmapdata,Flash,Actionscript 3,Bitmapdata,我正在使用copyPixels将较大位图的一部分复制到较小的位图中,以用于单个MovieClips。但是,在位图的边缘周围仍然有一些额外的空间、空白和角。如何将位图中的白色设置为透明,这样我就不会看到这些难看的边缘?您可以使用或draw()而不是copyPixels()来调整那里的颜色您可以使用或draw()而不是copyPixels()来调整那里的颜色您可以使用该方法。这段代码在蓝色背景上创建一个带有红方块的位图数据,然后使用阈值方法使红色像素透明 var inputBitmapData:Bi

我正在使用
copyPixels
将较大位图的一部分复制到较小的位图中,以用于单个MovieClips。但是,在位图的边缘周围仍然有一些额外的空间、空白和角。如何将位图中的白色设置为透明,这样我就不会看到这些难看的边缘?

您可以使用或
draw()
而不是
copyPixels()
来调整那里的颜色

您可以使用或
draw()
而不是
copyPixels()
来调整那里的颜色

您可以使用该方法。这段代码在蓝色背景上创建一个带有红方块的位图数据,然后使用阈值方法使红色像素透明

var inputBitmapData:BitmapData = new BitmapData(200, 200, true, 0xFF0000FF);
inputBitmapData.fillRect(new Rectangle(10, 10, 180, 180), 0xFFFF0000);

var outputBitmapData:BitmapData = new BitmapData(200, 200, true);
var destPoint:Point = new Point(0, 0);
var sourceRect:Rectangle = new Rectangle(0, 0, outputBitmapData.width, outputBitmapData.height);
var threshold:uint =  0xFFFF0000; 
var color:uint = 0x00000000;
outputBitmapData.threshold(inputBitmapData, sourceRect, destPoint, "==", threshold, color, 0xFFFFFFFF, true);

var input:Bitmap = new Bitmap(inputBitmapData);
addChild(input);

var output:Bitmap = new Bitmap(outputBitmapData);
output.x = input.x + input.width + 10;
addChild(output);
你可以使用这个方法。这段代码在蓝色背景上创建一个带有红方块的位图数据,然后使用阈值方法使红色像素透明

var inputBitmapData:BitmapData = new BitmapData(200, 200, true, 0xFF0000FF);
inputBitmapData.fillRect(new Rectangle(10, 10, 180, 180), 0xFFFF0000);

var outputBitmapData:BitmapData = new BitmapData(200, 200, true);
var destPoint:Point = new Point(0, 0);
var sourceRect:Rectangle = new Rectangle(0, 0, outputBitmapData.width, outputBitmapData.height);
var threshold:uint =  0xFFFF0000; 
var color:uint = 0x00000000;
outputBitmapData.threshold(inputBitmapData, sourceRect, destPoint, "==", threshold, color, 0xFFFFFFFF, true);

var input:Bitmap = new Bitmap(inputBitmapData);
addChild(input);

var output:Bitmap = new Bitmap(outputBitmapData);
output.x = input.x + input.width + 10;
addChild(output);

啊,我明白了。但是,如何指定白色,即0xFFFFFF,以渲染为透明?我要编辑字母偏移量还是字母乘数?啊,我明白了。但是,如何指定白色,即0xFFFFFF,以渲染为透明?我要编辑alphaOffset还是alphaMultiplier?这个功能看起来非常灵活。我会尝试一下,谢谢你的例子!这个功能看起来非常灵活。我会尝试一下,谢谢你的例子!