如何在WPF图像中显示位图

本文关键字:显示 位图 图像 WPF | 更新日期: 2023-09-27 17:50:51

我想实现一个图像编辑程序,但是我不能在我的WPF中显示位图。对于一般编辑,我需要一个位图。但是我不能在图像中显示。

private void MenuItemOpen_Click(object sender, RoutedEventArgs e)
{
    OpenFileDialog openfiledialog = new OpenFileDialog();
    openfiledialog.Title = "Open Image";
    openfiledialog.Filter = "Image File|*.bmp; *.gif; *.jpg; *.jpeg; *.png;";
    if (openfiledialog.ShowDialog() == true)
    {
        image = new Bitmap(openfiledialog.FileName);
    }
}

我用OpenFileDialog将图像加载到位图中。现在我想在我的WPF中设置图片。像这样:

Image.Source = image;

我真的需要一个位图来获得一个特殊像素的颜色!我需要一个简单的代码片段。

谢谢您的帮助!

如何在WPF图像中显示位图

我现在使用这个片段将位图转换为ImageSource:

BitmapImage BitmapToImageSource(Bitmap bitmap)
{
    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();
        return bitmapimage;
    }
}

应该这样做:

ImageSource imgSource = new BitmapImage(new Uri("HERE GOES YOUR URI"));
image1.Source = imgSource; //image1 is your control

如果您需要位图类,请使用以下命令:

 public ImageSource imageSourceForImageControl(Bitmap yourBitmap)
{
 ImageSourceConverter c = new ImageSourceConverter();
 return (ImageSource)c.ConvertFrom(yourBitmap);
}