私は新しい WPF コントロールを作成し、それに Rectangle を追加しました。しかし、実際の画像で長方形をペイントすることはできません。
BitmapImage bi = GetImage();
ImageBrush imgBrush= new ImageBrush(bi);
this.rectangle.Fill = imgBrush;
ただし、このコードでは、ストロークを除いて四角形を透明にするだけです。
これはGetImage()
方法です:
BitmapImage bi;
using (MemoryStream ms = new MemoryStream())
{
bi = new BitmapImage();
bi.CacheOption = BitmapCacheOption.OnLoad;
texture.SaveAsPng(ms, texture.Width, texture.Height);
ms.Seek(0, SeekOrigin.Begin);
bi.BeginInit();
bi.StreamSource = ms;
bi.EndInit();
ms.Close();
}
return bi;
texture
このコードの前に作成されるTexture2D
クラスです。
ここに戻りBitmap
、画像が正しく描画されているBitmapImage
ことを保存します。Bitmap
ご協力ありがとうございました