リモートドメインからロードされたイメージのにアクセスするには、の(メソッドの2番目の(オプションの)引数)をcheckPolicyFile
にLoaderContext
設定する必要があります。load()
true
bitmapData
var loader:Loader = new Loader();
var context:LoaderContext = new LoaderContext(true);
loader.load(urlRequest, context)
アクセスBitmapData
クラスのload()
メソッドを使用して画像をロードする場合、オブジェクトであるパラメータを指定できます。オブジェクトのプロパティをtrueに設定すると、Flash Playerは、イメージのロード元のサーバー上のクロスドメインポリシーファイルをチェックします。クロスドメインポリシーファイルがあり、そのファイルがロード中のSWFファイルのドメインを許可している場合、ファイルはオブジェクト内のデータへのアクセスを許可されます。それ以外の場合、アクセスは拒否されます。Loader
context
LoaderContext
checkPolicyFile
LoaderContext
Bitmap
LoaderContext::checkPolicyFile
呼び出し元のSWFファイル自体のドメインの外部から画像(JPEG、GIF、またはPNG)をロードしていて、ActionScriptからその画像のコンテンツにアクセスする必要がある場合は、このフラグをtrueに設定します。画像コンテンツへのアクセスの例には、Loader.contentプロパティを参照してBitmapオブジェクトを取得したり、BitmapData.draw()メソッドを呼び出してロードされた画像のピクセルのコピーを取得したりすることが含まれます。ロード時にcheckPolicyFileを指定せずにこれらの操作のいずれかを実行しようとすると、必要なポリシーファイルがまだダウンロードされていないため、SecurityError例外が発生する可能性があります。
Loader::load()
ロードされたコンテンツがイメージである場合、そのSWFファイルのドメインがイメージの元のドメインのクロスドメインポリシーファイルに含まれていない限り、セキュリティサンドボックスの外部のSWFファイルからそのデータにアクセスすることはできません。
BitmapData::draw()
注:ソースオブジェクトと(Sprite
またはオブジェクトの場合)そのすべての子オブジェクトは、呼び出し元と同じドメインからのものであるか、メソッドMovieClip
を呼び出して呼び出し元がアクセスできるSWFファイル内にある必要があります。Security.allowDomain()
これらの条件が満たされない場合、draw()
メソッドは何も描画せず、SecurityError
例外をスローします。この制限は、アプリケーションセキュリティサンドボックス内のAIRコンテンツには適用されません。