actionscript 3.0透明图像floodfill

时间:2012-10-11 09:46:31

标签: actionscript-3 actionscript transparent fill flood-fill

我想使用bitmapData.floodfill()方法通过使用“onclick”事件来填充图像(就像paint bucket一样)。但问题是,当我使用透明图像(png,gif)时,此方法不起作用。当我使用不同的东西(如蓝色,红色等)时,它只会使用白色填充(或者我想是alpha = 0)。这是我用红色填充杰瑞鼠标时的样子clip2net.com/s/2nW65,这是我用于嵌入图像的例子:

    var container:MovieClip = new MovieClip(); //container that would hold the image    
    jerry_img = new Resource.jerry_graph(); //jerry image from assets/jerry.gif         

    addChild(container);
    container.addChild(jerry_img);
    container.addEventListener(MouseEvent.CLICK, fill_function);

    public function fill_function(e:MouseEvent):void {              
        jerry_img.bitmapData.floodFill(e.localX, e.localY, 0x00FFFF);
    }

当我将png或gif更改为JPEG时,洪水填充开始起作用,但它会填充严重的视觉问题,例如http://clip2net.com/s/2nW4J。 以下是示例https://dl.dropbox.com/u/78904724/as_host/flood_fill.rar的完整来源 (您可以将资源中的jerry.gif更改为jerry.jpg)

另外,对不起,如果这是一个愚蠢的问题和我的低英语水平。

1 个答案:

答案 0 :(得分:1)

内置floodFill没有实现别名它只填充精确的颜色,所以为了能够填充没有人工制品需要准备png(基本上删除别名像素)。或者找到新的填充算法,例如here

最好的问候