▶ 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;
}