0

画像を swf ファイルにロードするとエラーが発生します。これが私のコードです:

    private var loader:Loader = new Loader(  );
    public function Battle()
    {
        loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
        loader.load(new URLRequest("http://www.google.com.vn/images/srpr/logo4w.png"));
    }
    private function onComplete(event:Event):void
    {

        addChild(loader);
     }

なんとなく、Googleのロゴが出てきました。しかし、画像が読み込まれたピクセルを操作する必要があります。画像 Bitmap を追加します:

    private var loader:Loader = new Loader(  );
    private var image:Bitmap;

    public function Battle()
    {
        loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
        loader.load(new URLRequest("http://www.google.com.vn/images/srpr/logo4w.png"));
    }
    private function onComplete(event:Event):void
    {

        image =  Bitmap(loader.content);
        this.addChild(image);

    }

何も表示されません。インターネット上で解決策が見つかりません。私は試して検出します:

private function onComplete(event:Event):void
    {

        image =  Bitmap(loader.content);
        //after above line, rest of function never run
        addChild(image);   // <-- no run @@
        trace("this no run"); // <-- no run @@
    }

Flash Builder 4 を使用していますが、エラーや警告はありません。誰かが私に解決策を教えてもらえますか? 読んでくれてありがとう。

4

2 に答える 2

0

crossdomain画像がアプリケーションとは異なるドメインにある場合 (およびポリシー ファイルがない場合)、画像のピクセル データにアクセスできません。

于 2013-03-06T11:07:26.453 に答える
0

1 Google サイトで crossdomain.xml が必要です :)

2 checkpolicy を使用する必要があります。

var context:LoaderContext = new LoaderContext();
context.checkPolicyFile = true;
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
loader.load(new URLRequest("http://www.google.com.vn/images/srpr/logo4w.png"), context);

ただし、Google がクロスドメインを追加した場合にのみ機能します。

3 ドメインでサーバー側のプロキシをほとんど使用できません。Flash を呼び出してプロキシを呼び出して URL を含むファイルを取得し、プロキシでダウンロードしてフラッシュに戻ります...

于 2013-03-06T13:20:55.353 に答える