Как отобразить растровое изображение в изображении WPF

Я хочу реализовать программу редактирования изображений, но я не могу отобразить Bitmap в своем 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;

Мне действительно нужен битмап, чтобы получить цвет специального пикселя! Мне нужен простой код.

Благодарим за помощь!

Ответы

Ответ 1

Я использовал это сейчас, чтобы преобразовать Bitmap в 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;
    }
}

Ответ 2

Это должно сделать:

ImageSource imgSource = new BitmapImage(new Uri("HERE GOES YOUR URI"));

image1.Source = imgSource; //image1 is your control

Если вам нужен класс Bitmap, попробуйте использовать это:

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