/// <summary>/// 获取等比例缩放图片的方法/// </summary>/// <param name="imgPath">待缩放图片路径</param>/// <param name="savePath">缩放图片保存路径</param>/// <param name="format">缩放图片保存的格式</param>/// <param name="scaling">要保持的宽度或高度</param>/// <param name="keepWidthOrHeight">如果为true则保持宽度为scaling,否则保持高度为scaling</param>/// <returns></returns>public bool GetThumbnail(string imgPath, string savePath, ImageFormat format, int scaling, bool keepWidthOrHeight){try{using (Bitmap myBitmap = new Bitmap(imgPath)){int width = 0;int height = 0;int tw = myBitmap.Width;//图像的实际宽度int th = myBitmap.Height;//图像的实际高度if (keepWidthOrHeight)//保持宽度
                    {#region 自动保持宽度if (scaling >= tw){width = tw;height = th;}else{double ti = Convert.ToDouble(tw) / Convert.ToDouble(scaling);if (ti == 0d){width = tw;height = th;}else{width = scaling;height = Convert.ToInt32(Convert.ToDouble(th) / ti);}}#endregion}else{#region 自动保持高度if (scaling >= th){width = tw;height = th;}else{double ti = Convert.ToDouble(th) / Convert.ToDouble(scaling);if (ti == 0d){width = tw;height = th;}else{width = Convert.ToInt32(Convert.ToDouble(tw) / ti);height = scaling;}}#endregion}using (Image myThumbnail = myBitmap.GetThumbnailImage(width, height, () => { return false; }, IntPtr.Zero)){myThumbnail.Save(savePath, format);}}return true;}catch{return false;}}

上面的方法适合在vs2008中使用,如果是2005只需将 using (Image myThumbnail = myBitmap.GetThumbnailImage(width, height, () => { return false; }, IntPtr.Zero))这句换成using (Image myThumbnail = myBitmap.GetThumbnailImage(width, height, new Image.GetThumbnailImageAbort(delegate { return false; }), IntPtr.Zero))即可。

使用示例:GetThumbnail("d:/1.jpg", "d:/2.jpg", ImageFormat.Jpeg, 263, false);

转载于:https://www.cnblogs.com/sq111433/archive/2009/12/01/sq4.html

使用GetThumbnailImage进行图片缩放操作相关推荐

  1. javafx实现图片缩放和拖动

    目录 前言 方式一 方式二 1.带有滚动条的缩放 (1)代码 (2)效果 2.fxml 布局+java代码 (1) fxml 布局文件 (2) java 代码 (3) 效果 前言 本文使用的是 jdk ...

  2. CSDN博客 - Markdown:博客内图片缩放、删减水印等的相关操作

    因为CSDN也不断在更新,发现它现在的编辑器也有更新, 这样以前的一些操作就失效了,所以写了这个文章, 希望对CSDN的小伙伴们能有所帮助. 如果发现本文有和现在博客操作不一致的情况,欢迎留言或者私信 ...

  3. Android安卓开发中图片缩放讲解

    安卓开发中应用到图片的处理时候,我们通常会怎么缩放操作呢,来看下面的两种做法: 方法1:按固定比例进行缩放 在开发一些软件,如新闻客户端,很多时候要显示图片的缩略图,由于手机屏幕限制,一般情况下,我们 ...

  4. php扇形分布图,PHP制作3D扇形统计图以及对图片进行缩放操作实例

    这篇文章主要介绍了PHP制作3D扇形统计图以及对图片进行缩放操作实例,需要的朋友可以参考下 1.利用php gd库的函数绘制3D扇形统计图 header("content-type" ...

  5. pillow模块批量 读取图像、旋转、放缩、裁剪图片等操作

    1_pillow模块批量 读取图像.旋转.放缩.裁剪图片等操作(20190104 文章目录 1.pillow的安装和导入 2.pillow 读取.放缩.旋转.左右翻转.上下翻转图片操作 3.pillo ...

  6. php dimage加上域名,PHP全功能无变形图片裁剪操作类与用法示例

    本文实例讲述了PHP全功能无变形图片裁剪操作类与用法.分享给大家供大家参考,具体如下: 如果需要图片裁剪,或生成缩略图,这个基本上没有问题,全部需要的功能都在里面,全部都是无变形的. 这里我们划分为四 ...

  7. java 图片操作_Java对图片的操作

    有一天我在做一个游戏的时候听说可以把图片翻转过来可以减少自己做图片的时间  所以我就在网上找了一下  发现很多文章写得特别复杂 并且有一些方法都不能在eclipse上面用,所以我就模仿网上的文章写出适 ...

  8. c#图像处理、图片拼接、图片裁剪、图片缩放、图上添加形状、屏幕截图、图片反色、改变图片色彩度全解

    全栈工程师开发手册 (作者:栾鹏) c#教程全解 using System; using System.Collections.Generic; using System.ComponentModel ...

  9. 今天主要改了罗宾钢琴的首页图片缩放问题

    今天主要改了罗宾钢琴的首页图片缩放问题 今天觉得首页出来的图片太慢了,所以着手改图片大小的问题 查看了一下原因,问题出在产品的缩略图上,以前是直接用<img src=XXX.jpg  width ...

最新文章

  1. Eclipse 输出的文本乱码
  2. matlab plot画图指定线型和颜色
  3. 【整理】【转载】高薪是怎么跳出来的?
  4. 恒安嘉新面试题java_【恒安嘉新面试|面试题】-看准网
  5. 一天一种设计模式(一)------观察者模式
  6. Excel函数公式 (日期函数)
  7. Apache Common常用jar包
  8. 两者相差百分比怎么算_相差200元!小米11和iQOO 7谁更值得买?说说真实想法
  9. apache camel_REST与Apache Camel
  10. 企业级网络建站工作室源码
  11. java finally什么时候不执行_Java 中的 finally 一定会被执行吗?
  12. python time,datetime与highchart中的time
  13. mysql 数据库 向上取整_PHP取整,四舍五入取整、向上取整、向下取整、小数截取...
  14. android adb端口被占用问题
  15. ERP之什么是物料编码?
  16. CMDN创新应用推荐:泊车伴侣Parkbud
  17. java 将pdf文件转成高清图片(多张合并成一张)
  18. 《控制论导论》读书:基本概念
  19. 生活点滴记录-- 两点一线
  20. 推荐一款很好用的调试JS的Eclipse插件

热门文章

  1. python ssl socket_Python使用Socket(Https)Post登录百度的实现代码
  2. php调用接口搜索的网页源代码,PHP用户管理中常用接口调用实例及解析(含源码)...
  3. autowired注入jar中的依赖_springboot项目中调用jar包中的类时报错 — 没有注入类
  4. linux脚本中空格怎么显示,linux vim 显示空格
  5. JS 打印 data数据_小程序导出数据到excel表
  6. linux安装trac+svn+apache+wike,apache+svn+trac安装及配置2
  7. oracle的perfstat用户,安装statspack的最后一步出错:ORA-01918: 用户'PERFSTAT'不存在
  8. c++编写算法判断二叉树是否为完全二叉树_字节面试官:连这90道LeetCode算法题都不会也来面试?...
  9. 直接学python3_学习python用python2还是python3
  10. linux内存报警,linux 邮件报警,监控内存cup