gpt4 book ai didi

c# - 用图像填充 WPF 矩形

转载 作者:行者123 更新时间:2023-11-30 21:00:10 26 4
gpt4 key购买 nike

我创建了新的 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 则图片绘制正确。

谢谢你的帮助

最佳答案

这才是Bitmap to <code>BitmapImage</code>:的正确转换方式



using(MemoryStream memory = new MemoryStream())
{
bitmap.Save(memory, ImageFormat.Png);
memory.Position = 0;
BitmapImage bitmapImage = new BitmapImage();
bitmapImage.BeginInit();
bitmapImage.StreamSource = memory;
bitmapImage.CacheOption = BitmapCacheOption.OnLoad;
bitmapImage.EndInit();
}

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

Load a WPF BitmapImage from a System.Drawing.Bitmap

关于c# - 用图像填充 WPF 矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15097742/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com