我已经实例化了几个System.Drawing.Icon对象。请注意,这些是在运行时创建的,不会从文件系统中存储和加载。我想将这些图像放在我的WPF应用程序中。
然而,正如我在过去几个小时发现的那样,不可能简单地将一个对象(如system.drawing.image或图标)直接添加到画布/堆栈面板,也不可能设置源代码一个System.Windows.Controls.Image指向未存储在文件系统中的图像或图标(在我看来似乎如此)。
有什么想法吗?
答案 0 :(得分:1)
这对我来说是动态设置一个WPF图像,其中包含从动态生成或从磁盘加载的位图加载的字节:
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.IO;
using System.Drawing.Imaging;
namespace Examples
{
public class Util
{
private static void SetBitmap(Image imgDest, Bitmap bmpSource)
{
byte[] imageBytes;
using (MemoryStream stream = new MemoryStream())
{
bmpSource.Save(stream, ImageFormat.Png);
imageBytes = stream.ToArray();
}
BitmapImage bitmapImage = new BitmapImage();
bitmapImage.BeginInit();
bitmapImage.StreamSource = new MemoryStream(imageBytes);
bitmapImage.EndInit();
imgDest.Source = bitmapImage;
}
}
}