Как отобразить растровое изображение в изображении 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);
}