c# WPF分配位图
本文关键字:位图 分配 WPF | 更新日期: 2023-09-27 18:02:59
我曾经使用过WFA,但是现在我也想尝试一下WPF平台。
我需要为图像控件分配一个现有的位图。
private void Window_Loaded(object sender, RoutedEventArgs e)
{
Bitmap sc = screenshot();
ima.Source = new Bitmap(sc);
}
这行不工作:ima.Source = new Bitmap(sc);
ima.Image = new Bitmap(sc);
但是现在抛出了一个错误:
不能隐式转换类型"System.Drawing"。位图'到'System.Windows.Media.ImageSource'.
你也可以使用Search函数:将System.Drawing.Bitmap转换为BitmapImage
private BitmapImage BitmapToImageSource(System.Drawing.Bitmap bitmap)
{
Image i = new Image();
using (MemoryStream memory = new MemoryStream())
{
bitmap.Save(memory, System.Drawing.Imaging.ImageFormat.Bmp);
memory.Position = 0;
BitmapImage bitmapimage = new BitmapImage();
bitmapimage.BeginInit();
bitmapimage.StreamSource = memory;
bitmapimage.CacheOption = BitmapCacheOption.OnLoad;
bitmapimage.EndInit();
i.Source = bitmapimage;
return bitmapimage;
}
}
这会将路径转换为ImageSource。
<Image>
<Image.Source>
<BitmapImage UriSource="{Binding ImagePath}" />
</Image.Source>
</Image>
试试这个方法。
public ImageSource imageSourceForImageControl
{
get
{
ImageSourceConverter c = new ImageSourceConverter();
return (ImageSource)c.ConvertFrom(yourBitmap);
}
}
https://msdn.microsoft.com/en-us/library/system.windows.media.imagesourceconverter (v = vs.110) . aspx