CODEKILLER

반응형

▶ MemoryStream과 주어진 Size를 이용하여 Thumbnail BitmapImage 만들기 예제입니다.

public static BitmapImage GetThumbnailFromStream(MemoryStream stream, int ThumbWidth, int ThumbHeight)
{
    // stream을 이용하여 Image를 생성합니다.
    System.Drawing.Image Img = System.Drawing.Image.FromStream(stream);
    // stream은 메모리 누수가 없도록 해제합니다.
    stream.Dispose();

    // thumb stream을 생성합니다.
    MemoryStream ThumbStream = new MemoryStream();
    System.Drawing.Image imgThumb = Img.GetThumbnailImage(ThumbWidth, ThumbHeight, null, (IntPtr)0);
    imgThumb.Save(ThumbStream, ImageFormat.Png);
    ThumbStream.Seek(0, SeekOrigin.Begin);

    // BitmapImage를 생성합니다.
    BitmapImage bitmapThumb = new BitmapImage();
    bitmapThumb.BeginInit();
    bitmapThumb.StreamSource = ThumbStream;
    bitmapThumb.CacheOption = BitmapCacheOption.OnLoad;
    bitmapThumb.EndInit();

    // ThumbStream을 해제합니다.
    ThumbStream.Dispose();
    return bitmapThumb;
}

 

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band