programing

WPF 비트맵 소스 이미지를 파일에 저장하는 방법

lastcode 2023. 4. 17. 21:53
반응형

WPF 비트맵 소스 이미지를 파일에 저장하는 방법

WPF에서는 함수는 오브젝트를 반환합니다.WinForms 배경에서 WPF를 처음 접하는 사람으로서 이 이미지를 파일에 저장하는 방법을 잘 모르겠습니다.어떤 절차를 밟아야 합니까?

인코더(의 서브클래스)를 사용해야 합니다.예를 들어 PNG 형식으로 저장하려면 다음과 같은 작업을 수행합니다.

public static void SaveClipboardImageToFile(string filePath)
{
    var image = Clipboard.GetImage();
    using (var fileStream = new FileStream(filePath, FileMode.Create))
    {
        BitmapEncoder encoder = new PngBitmapEncoder();
        encoder.Frames.Add(BitmapFrame.Create(image));
        encoder.Save(fileStream);
    }
}

참고로 에 버그가 있습니다.이미지를 파일에 저장하는 것만으로 문제가 되지 않지만, 표시하고 싶은 경우는 문제가 되지 않습니다.


EDIT : 위의 버그는 4.0으로 수정되어 있는 것 같습니다.

그러면 비트맵 프레임이 클리어 됩니다.가지고 있는 문제를 만듭니다.

public static void SaveClipboardImageToFile(string filePath)
{
    //var image = Clipboard.GetImage();
    BitmapSource image = (BitmapSource)Clipboard.GetImage();
    using (var fileStream = new FileStream(filePath, FileMode.Create))
    {
        BitmapEncoder encoder = new PngBitmapEncoder();
        //encoder.Frames.Add(BitmapFrame.Create(image));
        encoder.Frames.Add(BitmapFrame.Create(image As BitmapSource));
        encoder.Save(fileStream);
    }
}

언급URL : https://stackoverflow.com/questions/2900447/how-to-save-a-wpf-bitmapsource-image-to-a-file

반응형