programing

WPF 이미지에서의 비트맵 표시 방법

lovejava 2023. 4. 14. 20:51

WPF 이미지에서의 비트맵 표시 방법

이미지 편집 프로그램을 구현하고 싶은데 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;

특별한 픽셀 색상을 얻으려면 비트맵이 정말 필요해요!간단한 코드만 빼줘

도와주셔서 감사드려요!

비트맵을 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);
}

언급URL : https://stackoverflow.com/questions/22499407/how-to-display-a-bitmap-in-a-wpf-image