• 如何将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();
            }
  • 相关阅读:
    IR的评价指标之MRR
    双击启动tomcat中的startup.bat闪退原因及解决方法
    裁判文书网采集说明
    Java 验证码识别之多线程打码兔
    JVM 内存分配机制总结
    Java中多态的一些简单理解
    Java Callable并发编程模板
    JVM
    Command
    解决PHP下载文件时因时文件太大而报404错误
  • 原文地址:https://www.cnblogs.com/howtrace/p/11505261.html
Copyright © 2020-2023  润新知