UIElement
(外部 URL 画像を含む) を含むいくつかのImage
があり、これらの要素のサムネイルをキャッチしたいのでWriteableBitmap
、各 UIElement のピクセルをキャッチするために使用します。
ただし、Image
使用するためにピクセルをキャッチしようとすると:
WriteableBitmap wb = new WriteableBitmap(image, new ScaleTransform()
{
ScaleX = 0.5,
ScaleY = 0.5,
});
...
wb.GetPixeli(x, y); // Throws exception
http://msdn.microsoft.com/en-us/library/system.windows.media.imaging.writeablebitmap(v=vs.95).aspx
WriteableBitmap クラスには、WriteableBitmap がクロスドメイン コンテンツを使用して構築されている場合、Pixels 配列へのアクセスを制限するセキュリティ モデルがあります。たとえば、別のドメインからの URL を参照する BitmapImage を使用して構築された WriteableBitmap は、その Pixels 配列へのアクセスを許可しません。この制限は、コンテンツの一部またはすべてを設定するために URL 派生プロパティを使用するすべての UI 要素に適用されます。特に、この制限は、「MediaElement から実行中のビデオのフレームを取得する」シナリオに適用されます。MediaElement.Source が別のドメインのビデオ ファイルを参照する場合、要素ソースとして MediaElement を参照することによって作成された WriteableBitmap は、Pixels 配列へのアクセスを制限します。
UIElement
これらのいくつかの s (要素を含む) のサムネイルを取得するにImage
は、画像を一時ディレクトリにダウンロードしてからレンダリングする必要がありますか?