c# 从一个大图里截取图形
public
void
DrawImage(
Image image,
Rectangle destRect,
Rectangle srcRect,
GraphicsUnit srcUnit
)
public
void
DrawImage(
Image image,
int
x,
int
y,
Rectangle srcRect,
GraphicsUnit srcUnit
)
- #region 截取图象
- /// <summary>
- /// 从图片中截取部分生成新图
- /// </summary>
- /// <param name= "sFromFilePath "> 原始图片 </param>
- /// <param name= "saveFilePath "> 生成新图 </param>
- /// <param name= "width "> 截取图片宽度 </param>
- /// <param name= "height "> 截取图片高度 </param>
- /// <param name= "spaceX "> 截图图片X坐标 </param>
- /// <param name= "spaceY "> 截取图片Y坐标 </param>
- public static void CaptureImage(string sFromFilePath, string saveFilePath, int width, int height, int spaceX, int spaceY)
- {
- //载入底图
- Image fromImage = Image.FromFile(sFromFilePath);
- int x = 0; //截取X坐标
- int y = 0; //截取Y坐标
- //原图宽与生成图片宽 之差
- //当小于0(即原图宽小于要生成的图)时,新图宽度为较小者 即原图宽度 X坐标则为0
- //当大于0(即原图宽大于要生成的图)时,新图宽度为设置值 即width X坐标则为 sX与spaceX之间较小者
- //Y方向同理
- int sX = fromImage.Width - width;
- int sY = fromImage.Height - height;
- if (sX > 0)
- {
- x = sX > spaceX ? spaceX : sX;
- }
- else
- {
- width = fromImage.Width;
- }
- if (sY > 0)
- {
- y = sY > spaceY ? spaceY : sY;
- }
- else
- {
- height = fromImage.Height;
- }
- //创建新图位图
- Bitmap bitmap = new Bitmap(width, height);
- //创建作图区域
- Graphics graphic = Graphics.FromImage(bitmap);
- //截取原图相应区域写入作图区
- graphic.DrawImage(fromImage, 0, 0, new Rectangle(x, y, width, height), GraphicsUnit.Pixel);
- //从作图区生成新图
- Image saveImage = Image.FromHbitmap(bitmap.GetHbitmap());
- //保存图象
- saveImage.Save(saveFilePath, ImageFormat.Jpeg);
- //释放资源
- saveImage.Dispose();
- bitmap.Dispose();
- graphic.Dispose();
- }
- #endregion
//调用方法
CaptureImage(@"D:/1.jpg", @"d:/2.jpg", 50, 50, 300, 300);
c# 从一个大图里截取图形相关推荐
- 如何解决有时一个CAD里的图形无法复制到另一个CAD文件里?
一般高版本的CAD复制到低版本CAD中是不能简单用ctrl+c,ctrl+v的. 如果要复制,在低版本CAD中插入–块--浏览–选择CAD图形文件插入,就会出现提示指定插入点. 不能复制粘贴的原因多种 ...
- python做界面用什么软件好_pyqt | 做一个好用的图形界面软件
原标题:pyqt | 做一个好用的图形界面软件 pyqt5快速开发与实战 什么是pyqt? PyQt是一个用python创建GUI(图形界面)应用程序的工具包它是Python编程语言和Qt库的成功融合 ...
- Qt Quick里的图形效果——颜色(Color)
Qt Quick提供了通过改变一个 Item 的颜色来产生各种各样效果的元素.有下面几种: BrightnessContrast,调整亮度和对比度 ColorOverlay,在源 Item 上覆盖一层 ...
- Qt Quick里的图形效果——渐变(Gradient)
Qt Quick提供了三种渐变图形效果: ConicalGradient,锥形渐变 LinearGradient,线性渐变 RadialGradient,径向渐变 效果 下图是我设计的示例效果: 图 ...
- SAP 往一个角色里增加事务代码
SAP 往一个角色里增加事务代码 1,PFCG,输入角色名字, 点"更改"按钮,进入如下界面, 进入'菜单'选项卡,就能增加事务代码了.如上图.保存即可. 2, 为这个更改创建TR ...
- ASP.NET一般处理程序新建一个方法里使用context.Response.Write的解决方法
ASP.NET一般处理程序新建一个方法里使用context.Response.Write的解决方法 参考文章: (1)ASP.NET一般处理程序新建一个方法里使用context.Response.Wr ...
- php 清除数据表中所有数据库,清除一个数据库里所有表的数据
如果需要清除一个数据库里所有表的数据,则可用下面命令: exec sp_MSforeachtable TRUNCATE TABLE ? ******************************** ...
- 取某个字段的前几位 php,php中的一个中文字符串截取函数
php中的一个中文字符串截取函数 PHP代码: ---------------------------------------------------------------------------- ...
- 数学之美 系列十六 (下)- 不要把所有的鸡蛋放在一个篮子里 最大熵模型
数学之美 系列十六 (下)- 不要把所有的鸡蛋放在一个篮子里 最大熵模型 我们上次谈到用最大熵模型可以将各种信息综合在一起.我们留下一个问题没有回答,就是如何构造最大熵模型.我们已经所有的最大熵模型都 ...
最新文章
- 【car】购买新能源电动汽车的几个注意事项
- ImageLoader must be init with configuration before using 错误解决方法
- appium--每次启动会重新安装的问题(没试过)
- java决策树_【Java】决策树介绍和使用
- java public 继承_java继承问题
- 向一个数组中插入元素
- python中matlab函数图像处理,MATLAB图像处理--同态滤波(代码及示例)
- 重载与覆盖(java)
- 用户输入和命令行参数
- 【笔试/面试】—— 二叉树的深度和宽度
- python3.7安装步骤-Windows下Python 3.7.0的安装步骤,Python370
- 使用easy_install安装BeautifulSoup——Python
- 厉害了!为了干掉 HTTP ,Spring团队又开源 nohttp 项目!
- 数字图像处理第三版4.8.4例子GLPF高斯低通滤波器matlab程序
- 【UCOSIII操作系统】硬件初始化篇(1)硬件初始化以及开始运行系统
- php将文字生成图片显示,php生成文字图片效果
- xp系统查计算机设备型号,xp电脑设备型号怎么查询
- 定制Hexo-NexT的个性化博客
- 前端HTML+CSS之网页排版(三)
- 招聘:赴微软工作SharePoint技术专家(V-,北京)
热门文章
- Redis集群的搭建(具体步骤)
- 表示我想你的代码java_如何编写可怕的Java代码?
- linux 隐藏脚本运行,linux – 为什么在运行ls时隐藏此文件?
- C语言二分法求最小值解,C语言用二分法求方程的近似解的方法
- php aes 128位加密,php实现AES 128位加密的相关操作技巧分享
- 去掉a标签下划线_条码软件如何修改条码标签的字体格式
- centos图形化桌面的文件在哪_Windows 远程连接 CentOS 7 图形化桌面
- 八千字硬核长文梳理Linux内核概念及学习路线
- 电脑亮度多少对眼睛好_鲁大师性能测试多少分算好电脑?
- linux数据库实例开机启动不了,linux下Oracle数据库实例开机自启动设置