C# 图像居中缩放(自动裁剪保证图像不被压扁或变长)
/// <summary>
/// 居中缩放图像
/// </summary>
/// <param name="src">源</param>
/// <param name="dest">目标</param>
public static void ImageScale(Bitmap src, Bitmap dest)
{if (src == null || dest == null)throw new ArgumentNullException();double srcScale;double destScale;srcScale = (double)src.Width / src.Height;destScale = (double)dest.Width / dest.Height;//计算长宽比using (Graphics g = Graphics.FromImage(dest)){g.CompositingQuality = CompositingQuality.HighQuality;g.SmoothingMode = SmoothingMode.HighQuality;if (srcScale - destScale >= 0 && srcScale - destScale <= 0.001){//长宽比相同g.DrawImage(src, new Rectangle(0, 0, dest.Width, dest.Height), new Rectangle(0, 0, src.Width, src.Height), GraphicsUnit.Pixel);}else if (srcScale < destScale){//源长宽比小于目标长宽比,源的高度大于目标的高度double newHeight;newHeight = (double)dest.Height * src.Width / dest.Width;g.DrawImage(src, new Rectangle(0, 0, dest.Width, dest.Height), new Rectangle(0, (int)((src.Height - newHeight) / 2), src.Width, (int)newHeight), GraphicsUnit.Pixel);}else{//源长宽比大于目标长宽比,源的宽度大于目标的宽度double newWidth;newWidth = (double)dest.Width * src.Height / dest.Height;g.DrawImage(src, new Rectangle(0, 0, dest.Width, dest.Height), new Rectangle((int)((src.Width - newWidth) / 2), 0, (int)newWidth, src.Height), GraphicsUnit.Pixel);}}
C# 图像居中缩放(自动裁剪保证图像不被压扁或变长)相关推荐
- java drawimage 缩放_H5CanvasAPI中drawImage(图像进行缩放或裁剪)的使用实例
这篇文章主要介绍了HTML5 Canvas API中drawImage()方法的使用实例,drawImage()方法主要用来对图像进行缩放或裁剪,文中给出了其坐标及相关参数的用法,需要的朋友可以参考下 ...
- Python使用matplotlib保存图像时发生自动裁剪丢了部分标签信息解决方案(plt.savefig保存时丢失了部分标签字符)
Python使用matplotlib保存图像时发生自动裁剪丢了部分标签信息解决方案(plt.savefig保存时丢失了部分标签字符) 目录
- 【Python+OpenCV 图像的缩放和裁剪】
Python+OpenCV 图像的缩放和裁剪 代码部分 实现效果 代码部分 import cv2 import numpy as npimg = cv2.imread("Photos/1.b ...
- 【C#】C#实现鼠标滚轮的图像居中缩放
[fishing-pan:https://blog.csdn.net/u013921430 转载请注明出处] 最近接触了一下C# 的内容,遇到一个需求,就是关于图像的的缩放.查找了网上的一些资源, ...
- php 缩放再裁剪,10.4 图像缩放和裁剪技术
上一章我们学习了图片的水印技术,水印技术和我们这一章要学习到的缩放.裁剪技术基本一致,只不过使用的函数发生了一点点变化. 常用的两个函数如下: | 函数名 | 函数说明 | | -- | -- | | ...
- 【OpenCV 例程200篇】30. 图像的缩放(cv2.resize)
[OpenCV 例程200篇]30. 图像的缩放(cv2.resize) 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新 ...
- MATLAB图像平移、旋转、缩放、裁剪
版本: MATLAB R2019a 目录 (一)图像平移 (二)图像旋转 1.图像尺寸不变 2.图像信息不丢失 (三)图像缩放 (四)图像裁剪 (一)图像平移 使用MATLAB自带函数 transla ...
- html自动裁剪图片宽度,html - CSS显示调整大小和裁剪的图像
html - CSS显示调整大小和裁剪的图像 我想显示具有一定宽度和高度的URL中的图像,即使它具有不同的大小比例.所以我想调整大小(保持比例),然后将图像剪切到我想要的大小. 我可以用html ba ...
- R语言ggplot2可视化指定保存到pdf的图像的具体尺寸、保证缩放的一致性:使得绘图元素(文本、点大小等)在设计上都具有相同的绝对大小、设置全局数据点大小、主题格式、设置图像保存的具体尺寸
R语言ggplot2可视化指定保存到pdf的图像的具体尺寸.保证缩放的一致性:使得绘图元素(文本.点大小等)在设计上都具有相同的绝对大小.设置全局数据点大小.主题格式.设置图像保存的具体尺寸 目录
最新文章
- Caused by: java.lang.NoClassDefFoundError: org/objectweb/asm/Type
- HDU 2157 How many ways?? 临接矩阵+快速幂
- 使用 Cockpit 方便地管理容器
- HH SaaS电商系统的线下服务商品库存和采购设计
- FPGA复位激励编写(方法二)
- C# 控制台 打印输出
- 斯威夫特山地车_斯威夫特弦乐
- Access优已成忧,一年后,还是离开了秋色园了
- SAP FICO 第三节 BDC和LTMC导入S4财务科目
- 软件测试的模式(一、)
- 卸载 make install 编译安装的软件
- 小米路由器3G建站折腾笔记4 - 安装opkg和onmp
- Echo命令和Export命令
- 选择二极管要考虑哪些点?
- 计算机网络逻辑类故障实例,逻辑故障计算机网络论文
- 速卖通平台的未来在于走品牌化道路
- 计算机音乐数字乐谱牵丝戏,天谕手游牵丝戏乐谱代码是什么-天谕手游牵丝戏乐谱代码分享_快吧手游...
- LeetCode Java刷题笔记—876. 链表的中间结点
- Office 365系列(5)------IMAP Migrate 搬迁方式至O365上来方法及步骤总结
- 基于Vue.js和Node.js的个人网盘系统——科技立项中期成果
热门文章
- 学生信息管理系统(Python)完整版
- 米尔科技zynq利用MIO操作LED灯的linux驱动
- Improving person re-identification by attribute and identity learning[reading notes]
- 软件构造 课堂笔记5
- Activiti6.0 学习笔记(2)-查询历史任务
- Neovim开发Golang示例
- jks cer 证书生成
- 高精度气压传感器BMP280代码与解析
- Jessica‘s Reading Problem(尺取法)
- 启动mysql数据库是红色_mysql启动故障