我创建了新的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
个{h},然后保存Bitmap
,则会正确绘制图片。
感谢您的帮助
答案 0 :(得分:4)
这是转换Bitmap to
BitmapImage
:
BitmapImage
的正确方法
感谢“Pawel Lesnikowski”,他在以下主题中发布了anwser: