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
    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

問題はあなたのpngです。Photoshop で開いてみても、透明にはなりません。別のものを試してみてください-グーグルで検索するか、FlashまたはPSから公開してください-うまく機能します. (つまり、呼び出す設定はありません。適切な画像が必要なだけです。)

于 2009-07-09T06:58:01.560 に答える
-1

釣り方は教えたほうがいいので…

GIMP 2 (ビールのように無料)を使用している場合は、画像を開いて [レイヤー] | [レイヤー] を選択します。透明性... | アルファに色を付け、透明な背景に変換する色を選択します。

于 2009-07-09T07:12:17.583 に答える