当前位置: 首页 > 编程笔记 >

c#图像截取实例

何安宜
2023-03-14
本文向大家介绍c#图像截取实例,包括了c#图像截取实例的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了c#图像截取的实现方法。分享给大家供大家参考。具体如下:

图像截取的相关代码如下: 

public Form1()  

{  

   InitializeComponent();  

} 

private void button1_Click(object sender, EventArgs e)  {     Image pic = new Bitmap(this.Width, this.Height);     Graphics graphic = Graphics.FromImage(pic);     graphic.CopyFromScreen(new Point(this.Location.X, this.Location.Y), new Point(0, 0), new Size(this.Width, this.Height));     pic.Save(@"d:/test.jpeg", ImageFormat.Jpeg);     graphic.Dispose();  } 

[System.Runtime.InteropServices.DllImportAttribute("gdi32.dll")]  private static extern bool BitBlt(     IntPtr hdcDest, //目标设备的句柄     int nXDest, // 目标对象的左上角的X坐标     int nYDest, // 目标对象的左上角的X坐标     int nWidth, // 目标对象的矩形的宽度     int nHeight, // 目标对象的矩形的长度     IntPtr hdcSrc, // 源设备的句柄     int nXSrc, // 源对象的左上角的X坐标     int nYSrc, // 源对象的左上角的X坐标     System.Int32 dwRop // 光栅的操作值     );  [System.Runtime.InteropServices.DllImportAttribute("gdi32.dll")]  private static extern IntPtr CreateDC(     string lpszDriver, // 驱动名称     string lpszDevice, // 设备名称     string lpszOutput, // 无用,可以设定位"NULL"     IntPtr lpInitData // 任意的打印机数据     ); 

private void Form1_SizeChanged(object sender, EventArgs e)  {     } 

private void button2_Click(object sender, EventArgs e)  {     this.Hide();          IntPtr dc1 = CreateDC("DISPLAY", null,         null, (IntPtr)null);     //创建显示器的DC     Graphics g1 = Graphics.FromHdc(dc1);     //由一个指定设备的句柄创建一个新的Graphics对象     Bitmap MyImage =         new Bitmap(Screen.PrimaryScreen.Bounds.Width,      Screen.PrimaryScreen.Bounds.Height, g1);     //根据屏幕大小创建一个与之相同大小的Bitmap对象     Graphics g2 = Graphics.FromImage(MyImage);     //获得屏幕的句柄     IntPtr dc3 = g1.GetHdc();     //获得位图的句柄     IntPtr dc2 = g2.GetHdc();     //把当前屏幕捕获到位图对象中     BitBlt(dc2, 0, 0, Screen.PrimaryScreen.Bounds.Width,         Screen.PrimaryScreen.Bounds.Height,         dc3, 0, 0, 13369376);     //把当前屏幕拷贝到位图中     g1.ReleaseHdc(dc3);     //释放屏幕句柄     g2.ReleaseHdc(dc2);     //释放位图句柄 

   Bitmap img = new Bitmap(MyImage, 800, 600);     //缩放图片到800*600     img.Save("d:\\MyJpeg.jpg", ImageFormat.Jpeg);     MessageBox.Show("已经把当前屏幕保存到" +         "C:\\MyJpeg.jpg文件中!");     this.Show();  }

希望本文所述对大家的C#程序设计有所帮助。

 类似资料:
  • 本文向大家介绍Android实现拍照截取和相册图片截取,包括了Android实现拍照截取和相册图片截取的使用技巧和注意事项,需要的朋友参考一下 关于拍照截取和相册截取,看了网上很多资料,自己整理了一份比较详细的,供有需要的人参考 1  拍照 原理就是通过intent调用系统的相机,拍完照在回调进行操作,成功获取到拍完照的图片根据uri调用系统的裁剪页面,裁剪完也是在回调中进行处理,显示在页面的im

  • 本文向大家介绍C# 实现QQ式截图功能实例代码,包括了C# 实现QQ式截图功能实例代码的使用技巧和注意事项,需要的朋友参考一下 这个功能一共有两部分组成,第一部分是窗体代码,另外的一部分是一个辅助方法。直接贴出代码,以供大家参考: 第二部分是辅助方法类  实现的效果如下:  以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 你知道这个错误的原因是什么吗?

  • 本文向大家介绍Android个人中心的头像上传,图片编码及截取实例,包括了Android个人中心的头像上传,图片编码及截取实例的使用技巧和注意事项,需要的朋友参考一下 首先需要有网络权限,然后我们这里匹配的网络请求是之前封装好的Okhttp。 非常的简单方便,直接复制进去,依赖一下包,然后调用方法即可。 这里是把图片转换成Base64.decode(imageString, Base64.DEFA

  • 本文向大家介绍python 截取XML中bndbox的坐标中的图像,另存为jpg的实例,包括了python 截取XML中bndbox的坐标中的图像,另存为jpg的实例的使用技巧和注意事项,需要的朋友参考一下 文件目录 Annotations中是XML文件。 JPEGImages中是对应的JPG文件 XML文件 要截取bndbox坐标中的内容。 python代码 补充知识:python读取XML中b

  • 本文向大家介绍python cv2截取不规则区域图片实例,包括了python cv2截取不规则区域图片实例的使用技巧和注意事项,需要的朋友参考一下 知识掌握 cv2.threshold()函数: 设置固定级别的阈值应用于多通道矩阵,将灰度图像变换二值图像,或去除指定级别的噪声,或过滤掉过小或者过大的像素点。 在其中: src:表示的是图片源 thresh:表示的是阈值(起始值) maxval:表示