如何将GDI绘制图片存入硬盘

GDI 绘制图片存入硬盘,这里先将绘制结果存入Bitmap 中 , 然后通过BitMap.Save 存入磁盘。

如下示例演示过程:

   先从 磁盘加载一张图片 bitMapOrg , 然后通过BitBlt 贴图复制到bitMap 中,最终通过bitMap.Save 存入磁盘。

 private void button1_Click(object sender, EventArgs e)
        {
            Bitmap bitMap = new Bitmap(1203, 941);
            Bitmap bitMapOrg = (Bitmap)Bitmap.FromFile("D:\zp\螺栓位置信息.jpg");

            IntPtr intPtrBitMap = IntPtr.Zero;
            Graphics grapDes = Graphics.FromImage(bitMap);
           // Graphics graphicsControl = Graphics.FromImage(bitMapOrg);
            IntPtr hdc = grapDes.GetHdc();
            IntPtr intPtrControlMemary = Gdi32.CreateCompatibleDC(hdc);
            intPtrBitMap = bitMapOrg.GetHbitmap();
            Gdi32.SelectObject(intPtrControlMemary, intPtrBitMap);

            //可在贴图前绘制标定点信息
            Gdi32.BitBlt(hdc, 100 , 100, 1203 , 941 , intPtrControlMemary, 0 , 0  , Gdi32.TernaryRasterOperations.SRCCOPY );

            Gdi32.DeleteObject(intPtrBitMap);
            grapDes.ReleaseHdc(hdc);
            Gdi32.DeleteDC(intPtrControlMemary);
            grapDes.Dispose();
            //graphicsControl.Dispose();
            if (System.IO.File.Exists("d:\1234444.jpg"))
                System.IO.File.Delete("d:\1234444.jpg");

            bitMap.Save("d:\1234444.jpg" ,System.Drawing.Imaging.ImageFormat.Jpeg);

            bitMap.Dispose();
            bitMapOrg.Dispose();
        }
原文地址:https://www.cnblogs.com/howtrace/p/11505261.html