WindowlessControls.PlatformBitmap.OptimizeBitmap C# (CSharp) Метод

OptimizeBitmap() публичный статический Метод

public static OptimizeBitmap ( Stream bitmapStream ) : Bitmap
bitmapStream Stream
Результат System.Drawing.Bitmap
        public static Bitmap OptimizeBitmap(Stream bitmapStream)
        {
            Bitmap bitmap = new Bitmap(bitmapStream);
            if (Environment.OSVersion.Platform != PlatformID.WinCE)
                return bitmap;

            using (bitmap)
            {
                Bitmap ret = new Bitmap(bitmap.Width, bitmap.Height, PixelFormat.Format16bppRgb565);
                using (Graphics g = Graphics.FromImage(ret))
                {
                    g.DrawImage(bitmap, 0, 0);
                    return ret;
                }
            }

            //if (Environment.OSVersion.Platform == PlatformID.WinCE)
            //{
            //    if (myImagingFactory == null)
            //        myImagingFactory = (IImagingFactory)Activator.CreateInstance(Type.GetTypeFromCLSID(new Guid("327ABDA8-072B-11D3-9D7B-0000F81EF32E")));
            //    byte[] bytes = new byte[bitmapStream.Length];
            //    bitmapStream.Read(bytes, 0, (int)bitmapStream.Length);
            //    IImage imagingResource;
            //    uint hresult = myImagingFactory.CreateImageFromBuffer(bytes, (uint)bitmapStream.Length, BufferDisposalFlag.BufferDisposalFlagNone, out imagingResource);
            //    ImageInfo imageInfo = new ImageInfo();
            //    hresult = imagingResource.GetImageInfo(out imageInfo);
            //    Bitmap ret = new Bitmap((int)imageInfo.Width, (int)imageInfo.Height, PixelFormat.Format16bppRgb565);
            //    using (Graphics g = Graphics.FromImage(ret))
            //    {
            //        g.Clear(myTransparentColor);
            //        RECT dstRect = new RECT(0, 0, (int)imageInfo.Width, (int)imageInfo.Height);
            //        imagingResource.Draw(g.GetHdc(), ref dstRect, IntPtr.Zero);
            //        Marshal.ReleaseComObject(imagingResource);
            //        return ret;
            //    }
            //}
            //else
            //{
            //    PixelFormat format = (PixelFormat)925707;
            //    using (Bitmap bitmap = new Bitmap(bitmapStream))
            //    {
            //        Bitmap ret = new Bitmap(bitmap.Width, bitmap.Height, format);
            //        using (Graphics g = Graphics.FromImage(ret))
            //        {
            //            g.DrawImage(bitmap, 0, 0);
            //            return ret;
            //        }
            //    }
            //}
        }

Usage Example

Пример #1
0
 public StandardBitmap(Stream stream)
 {
     myBitmap = new Bitmap(PlatformBitmap.OptimizeBitmap(stream));
 }