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