用Image填充WPF矩形

时间:2013-02-26 19:36:18

标签: c# wpf xna

我创建了新的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;

textureTexture2D类,是在此代码之前创建的。

如果我在此Bitmap返回BitmapImage个{h},然后保存Bitmap,则会正确绘制图片。

感谢您的帮助

1 个答案:

答案 0 :(得分:4)

这是转换Bitmap to BitmapImage:

BitmapImage


的正确方法

感谢“Pawel Lesnikowski”,他在以下主题中发布了anwser:

Load a WPF BitmapImage from a System.Drawing.Bitmap