zoukankan      html  css  js  c++  java
  • 如何将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();
            }
  • 相关阅读:
    计算机网络-TCP的三次握手与四次挥手
    计算机网络-XSS及CSRF攻击防御
    计算机网络-HTTP与HTTPS的区别
    装饰器模式和代理模式的区别
    23种设计模式总结
    单例模式详解
    常用设计模式总结
    PG-用户|角色管理
    PG-表空间管理
    TiDB-性能测试
  • 原文地址:https://www.cnblogs.com/howtrace/p/11505261.html
Copyright © 2011-2022 走看看