Example #1
0
        public Image GetThumbnailImage(int thumbWidth, int thumbHeight, Image.GetThumbnailImageAbort callback, IntPtr callbackData)
        {
            if ((thumbWidth <= 0) || (thumbHeight <= 0))
            {
                throw new OutOfMemoryException("Invalid thumbnail size");
            }

            Image ThumbNail = new Bitmap(thumbWidth, thumbHeight);

            using (Graphics g = Graphics.FromImage(ThumbNail)) {
                Status status = GDIPlus.GdipDrawImageRectRectI(g.nativeObject, nativeObject,
                                                               0, 0, thumbWidth, thumbHeight,
                                                               0, 0, this.Width, this.Height,
                                                               GraphicsUnit.Pixel, IntPtr.Zero, null, IntPtr.Zero);

                GDIPlus.CheckStatus(status);
            }

            return(ThumbNail);
        }