Esempio n. 1
0
        private static DdsImage CreateDdsPreview(Stream stream)
        {
            Contract.Requires(stream != null);
            stream.Seek(0, SeekOrigin.Begin);

            DdsImage image = null;

            try
            {
                image = new DdsImage(stream);
            }
            catch (Exception)
            {
                return(null);
            }

            if (!image.IsValid)
            {
                image.Dispose();
                return(null);
            }

            stream.Dispose();
            return(image);
        }
Esempio n. 2
0
        /// <summary>
        /// Set's preview to DDS image.
        /// </summary>
        /// <param name="stream">DDS image stream.</param>
        private void SetDdsPreview(DdsImage image)
        {
            Contract.Requires(image != null);

            IntPtr       hBitmap = image.BitmapImage.GetHbitmap();
            BitmapSource source  = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(
                hBitmap,
                IntPtr.Zero,
                Int32Rect.Empty,
                BitmapSizeOptions.FromEmptyOptions());

            this.PreviewImageBox.Source = source;

            NativeMethods.DeleteObject(hBitmap);
            image.Dispose();

            ChangeControlsVisibilityForFileType(PreviewFileType.Dds);

            SetTextWithTip(this.PreviewText, "Preview",
                           source.PixelWidth + "x" + source.PixelHeight);
        }