tags:

views:

69

answers:

1

How do I generate a thumbnail image in WPF in the following scenario?

       using (MemoryStream mem = new MemoryStream(imgbytes))
            {
                BitmapImage jpgimage = new BitmapImage();
                jpgimage.BeginInit();

                jpgimage.CacheOption = BitmapCacheOption.OnLoad;

                jpgimage.StreamSource = mem;

                jpgimage.EndInit();

                Image wpfimage = new Image();
                wpfimage.Source = jpgimage.Clone();

                lbx.Items.Add(wpfimage);
                lbx.UpdateLayout();
                Thread.Sleep(1000);
            }
+1  A: 

Here's some code I'm using to convert an image I've downloaded from the web to a thumbnail image. Does this help? Presumably you can cut out the bits where I save it to file.

using (var ms = new MemoryStream(e.Result))
{
    var bi = new BitmapImage();
    bi.BeginInit();
    bi.StreamSource = ms;
    bi.DecodePixelWidth = _maxThumbnailWidth;
    bi.EndInit();

    var encoder = new JpegBitmapEncoder();
    encoder.Frames.Add(BitmapFrame.Create(bi));
    using (var fs = new FileStream(filename, FileMode.Create))
    {
        encoder.Save(fs);
    }
}
Matt Hamilton