C#图片截取压缩百分比压缩大小压缩实现代码示例
发布时间:2023-06-13 14:30:21 所属栏目:语言 来源:未知
导读: 前端时间朋友要传一些图片给我,全是大图,考虑到网速的限制,让他处理下图片大小再给我,这厮居然不知道用什么工具.
为了娱乐写了个截取图片和压缩图片你的小工具
为了娱乐写了个截取图片和压缩图片你的小工具
前端时间朋友要传一些图片给我,全是大图,考虑到网速的限制,让他处理下图片大小再给我,这厮居然不知道用什么工具. 为了娱乐写了个截取图片和压缩图片你的小工具 1.按照百分比截图 代码如下: View Code /// <summary> /// 按照比例缩小图片 /// </summary> /// <param name="srcImage">要缩小的图片</param> /// <param name="percent">缩小比例</param> /// <returns>缩小后的结果</returns> public static Bitmap PercentImage(Image srcImage, double percent) { // 缩小后的高度 int newH = int.Parse(Math.Round(srcImage.Height * percent).ToString()); // 缩小后的宽度 int newW = int.Parse(Math.Round(srcImage.Width * percent).ToString()); try { // 要保存到的图片 Bitmap b = new Bitmap(newW, newH); Graphics g = Graphics.FromImage(b); // 插值算法的质量 g.InterpolationMode = InterpolationMode.Default; g.DrawImage(srcImage, new Rectangle(0, 0, newW, newH), new Rectangle(0, 0, srcImage.Width, srcImage.Height), GraphicsUnit.Pixel); g.Dispose(); return b; } catch (Exception) { return null; } } 2.按照指定像素大小截图 代码如下: View Code /// <summary> /// 按照指定大小缩放图片 /// </summary> /// <param name="srcImage"></param> /// <param name="iWidth"></param> /// <param name="iHeight"></param> /// <returns></returns> public static Bitmap SizeImage(Image srcImage, int iWidth, int iHeight) { try { // 要保存到的图片 Bitmap b = new Bitmap(iWidth, iHeight); Graphics g = Graphics.FromImage(b); // 插值算法的质量 g.InterpolationMode = InterpolationMode.HighQualityBicubic; g.DrawImage(srcImage, new Rectangle(0, 0, iWidth, iHeight), new Rectangle(0, 0, srcImage.Width, srcImage.Height), GraphicsUnit.Pixel); g.Dispose(); return b; } catch (Exception) { return null; } } 3.按照指定像素大小截图(但为了保证图片的原始比例,将对图片从中心进行截取,达到图片不被拉伸的效果) 代码如下: View Code /// <summary> /// 按照指定大小缩放图片,但是为了保证图片宽高比自动截取 /// </summary> /// <param name="srcImage"></param> /// <param name="iWidth"></param> /// <param name="iHeight"></param> /// <returns></returns> public static Bitmap SizeImageWithOldPercent(Image srcImage, int iWidth, int iHeight) { try { // 要截取图片的宽度(临时图片) int newW = srcImage.Width; // 要截取图片的高度(临时图片) int newH = srcImage.Height; // 截取开始横坐标(临时图片) int newX = 0; // 截取开始纵坐标(临时图片) (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐