0

在 Flash CS4 中,打开一个新文档,将背景颜色更改为可识别的颜色(如洋红色)并添加以下代码:

var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, function(e:Event){addChild(e.target.content);});
loader.load(new URLRequest('newsnakelub8.png'));

...用你碰巧有的任何替换 .png 文件名,我抓住了这个。编译 .swf,和我一起失望地叹口气 - 通常透明的 .png 现在有一个白色背景,不允许闪光背景颜色显示出来。

我在某处缺少一个神奇的“treatAsPNG24”属性吗?

4

4 回答 4

6

图像实际上没有透明背景...

替代文字
(来源:liranuna.com

为了您的快乐,固定图像:

替代文字

于 2009-07-09T07:01:57.527 回答
1

问题是你的png。尝试在 Photoshop 中打开它,它也不会是透明的。尝试一个不同的 - 谷歌它,或从 Flash 或 PS 发布一个 - 它会正常工作。(也就是说,没有要调用的设置,你只需要一个合适的图像。)

于 2009-07-09T06:58:01.560 回答
1
    public static function getSource(stringURL:String):void {
        currentProcessedURL = stringURL;
        var loader:Loader = new Loader();
        var request:URLRequest = new URLRequest(stringURL);
        loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
        loader.load(request);               
    }

    private static function onComplete(e:Event):void {
        try{
            var bitMap:BitmapData = new BitmapData(
                (e.currentTarget as LoaderInfo).loader.width,
                (e.currentTarget as LoaderInfo).loader.height);
            bitMap.draw((e.currentTarget as LoaderInfo).loader);
            var icon:BitmapSymbol = new BitmapSymbol();
            icon.source = bitMap;
            standardStringToImage[currentProcessedURL] = icon;      
            getSource(ALL_ARRAY.pop());
        } catch(e:Error) {
            trace(e);
        }           
    }

这样做会加载具有白色背景的图像。参数 , true, 0x00ffffff 需要添加到 BitmapData 构造函数中。我发现这个线程是因为我的 PNG 加载了白色背景,而且我知道它们具有透明背景。所以,希望这会帮助任何有同样问题的人。

于 2011-02-09T18:57:33.387 回答
-1

既然教你钓鱼比较好...

如果您使用的是GIMP 2(像啤酒一样免费),只需打开图像,选择图层 | 透明度... | 颜色为 Alpha并选择要转换为透明背景的颜色。

于 2009-07-09T07:12:17.583 回答