windowcapture
исходный код / Helpers/BitmapHelper.cs

BitmapHelper.cs

33 строк · 1,067 байт · модуль Helpers
 1using System.Drawing;
 2using System.Drawing.Imaging;
 3
 4namespace WindowCapture.Helpers
 5{
 6    /// <summary>
 7    /// Shared bitmap cloning and creation utilities.
 8    /// </summary>
 9    public static class BitmapHelper
10    {
11        /// <summary>
12        /// Clone a bitmap into a new Format32bppArgb bitmap (safe copy, no GDI+ lock issues).
13        /// </summary>
14        public static Bitmap Clone32(Image source)
15        {
16            var bmp = new Bitmap(source.Width, source.Height, PixelFormat.Format32bppArgb);
17            using (var g = Graphics.FromImage(bmp))
18                g.DrawImage(source, 0, 0, source.Width, source.Height);
19            return bmp;
20        }
21
22        /// <summary>
23        /// Clone a bitmap preserving its original pixel format.
24        /// </summary>
25        public static Bitmap CloneExact(Image source)
26        {
27            var bmp = new Bitmap(source.Width, source.Height, source.PixelFormat);
28            using (var g = Graphics.FromImage(bmp))
29                g.DrawImage(source, 0, 0);
30            return bmp;
31        }
32    }
33}