1. //下面给出三个简单的方法,后面两个方法是扩展,估计有时用得着
  2. //************************************************************//
  3. /// <summary>
  4. /// 缩小图片
  5. /// </summary>
  6. /// <param name="strOldPic">源图文件名(包括路径)</param>
  7. /// <param name="strNewPic">缩小后保存为文件名(包括路径)</param>
  8. /// <param name="intWidth">缩小至宽度</param>
  9. /// <param name="intHeight">缩小至高度</param>
  10. public void SmallPic(string strOldPic, string strNewPic, int intWidth, int intHeight)
  11. {
  12.  
  13. System.Drawing.Bitmap objPic,objNewPic;
  14. try
  15. {
  16. objPic = new System.Drawing.Bitmap(strOldPic);
  17. objNewPic=new System.Drawing.Bitmap(objPic,intWidth,intHeight);
  18. objNewPic.Save(strNewPic);
  19.  
  20. }
  21. catch(Exception exp){throw exp;}
  22. finally
  23. {
  24. objPic=null;
  25. objNewPic=null;
  26. }
  27. }
  28.  
  29. /// <summary>
  30. /// 按比例缩小图片,自动计算高度
  31. /// </summary>
  32. /// <param name="strOldPic">源图文件名(包括路径)</param>
  33. /// <param name="strNewPic">缩小后保存为文件名(包括路径)</param>
  34. /// <param name="intWidth">缩小至宽度</param>
  35. public void SmallPic(string strOldPic, string strNewPic, int intWidth)
  36. {
  37.  
  38. System.Drawing.Bitmap objPic,objNewPic;
  39. try
  40. {
  41. objPic = new System.Drawing.Bitmap(strOldPic);
  42. int intHeight=(intWidth / objPic.Width) * objPic.Height;
  43. objNewPic=new System.Drawing.Bitmap(objPic,intWidth,intHeight);
  44. objNewPic.Save(strNewPic);
  45.  
  46. }
  47. catch(Exception exp){throw exp;}
  48. finally
  49. {
  50. objPic=null;
  51. objNewPic=null;
  52. }
  53. }
  54.  
  55. /// <summary>
  56. /// 按比例缩小图片,自动计算宽度
  57. /// </summary>
  58. /// <param name="strOldPic">源图文件名(包括路径)</param>
  59. /// <param name="strNewPic">缩小后保存为文件名(包括路径)</param>
  60. /// <param name="intHeight">缩小至高度</param>
  61. public void SmallPic(string strOldPic, string strNewPic, int intHeight)
  62. {
  63.  
  64. System.Drawing.Bitmap objPic,objNewPic;
  65. try
  66. {
  67. objPic = new System.Drawing.Bitmap(strOldPic);
  68. int intWidth=(intHeight / objPic.Height) * objPic.Width;
  69. objNewPic=new System.Drawing.Bitmap(objPic,intWidth,intHeight);
  70. objNewPic.Save(strNewPic);
  71.  
  72. }
  73. catch(Exception exp){throw exp;}
  74. finally
  75. {
  76. objPic=null;
  77. objNewPic=null;
  78. }
  79. }

摘自:http://www.alixixi.com/program/a/2008020624216.shtml

如何在C#中实现图片缩放的更多相关文章

  1. 如何在github中插入图片,链接,图片链接(给图片加上链接),文字+图片链接,的实战分享!

    如何在github中插入图片,链接,图片链接(给图片加上链接),文字+图片链接,的实战分享! markdown 1.文字链接: [link-Text](link-URL) [home](https:/ ...

  2. 如何在vue中引入图片?

    当我们在Vue.js项目中引用图片时,关于图片路径有以下几种情形: 使用一. 我们在data里面定义好图片路径 imgUrl:'../assets/logo.png' 然后,在template模板里面 ...

  3. 如何在html中插入图片

    HTML内容元素中图片元素 使用img元素:src属性:图片路径. alt属性:图片无法显示的时候使用替代文本,title属性:鼠标悬停时显示文本内容. 在同一张图片上点击不同的位置链接到不同的页面上 ...

  4. 如何在 python 中提取图片主题色

    前言 在 Groove 音乐中,当我们改变歌曲时,底部播放栏的颜色会随专辑封面而变,比如下图中播放栏的颜色变成了 aiko 衣服的颜色.下面我们会在 python 中实现相同的效果,也就是提取出图片中 ...

  5. 小技巧,如何在Label中显示图片

    这个需求其实是有的,比如QQ聊天界面里面发送的信息,可以用label来显示文字(也可以用button显示),但是有时候用户可能会发送图片.如果能让Label遇到文字就显示文字,遇到图片就显示图片就好了 ...

  6. 如何在rul中添加图片

    先制作要添加的ico图,如faction.ico 在<title>使用 <link rel="icon" href="../images/faction ...

  7. 如何在HTML中实现图片的滚动效果

    <MARQUEE onmouseover=stop() onmouseout=start() scrollAmount=3 loop=infinite deplay="0"& ...

  8. Doxyfile中插入图片

    下面讲一下如何在doxyfile中插入图片 在查看别人写的文档的过程中,看到可以在doxyfile中插入图片,对此十分的好奇,所以拿出来研究一下 那么这是如何实现的? 根据代码,可以看到如下的注释 @ ...

  9. 如何在latex 中插入EPS格式图片

    如何在latex 中插入EPS格式图片 第一步:生成.eps格式的图片 1.利用visio画图,另存为pdf格式的图片 利用Adobe Acrobat裁边,使图片大小合适 另存为.eps格式,如下图所 ...

随机推荐

  1. Spring MVC Controller单例陷阱

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://lavasoft.blog.51cto.com/62575/1394669 Spr ...

  2. [Java] 关键字final、static使用总结

    一.final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方法和变量.你可能出于两种理解而需要阻止改变:设计或效率.final ...

  3. [Java] webservice soap,wsdl 例子

    java 调用webservice的各种方法总结 现在webservice加xml技术已经逐渐成熟,但要真正要用起来还需时日!! 由于毕业设计缘故,我看了很多关于webservice方面的知识,今天和 ...

  4. C#中常用的排序算法的时间复杂度和空间复杂度

    常用的排序算法的时间复杂度和空间复杂度   常用的排序算法的时间复杂度和空间复杂度 排序法 最差时间分析 平均时间复杂度 稳定度 空间复杂度 冒泡排序 O(n2) O(n2) 稳定 O(1) 快速排序 ...

  5. axure rp pro 6.5 注册码

    发现一可用的注册码: Name:BEAN Serial:MZlb4FJwOVw+j04A4pX8S5genhcCOo1adsaH/ZHOukDY7OyPJcCKUHlwUEfU0Osr (已验证可用) ...

  6. Error reading from file 解决办法

    最近安装程序遇见这个问题: Error reading from file. 解决办法: 给这个程序添加权限: 添加SYSTEM的读写改..如果比较懒,直接全部允许. 然后Retry.

  7. 21世纪C语言(影印版)

    <21世纪C语言(影印版)> 基本信息 原书名:21st Century C 作者: Ben Klemens 出版社:东南大学出版社 ISBN:9787564142056 上架时间:201 ...

  8. JavaScript实现XML与JSON互转代码(转载)

    下面来分享一个关于JavaScript实现XML与JSON互转例子,这里面介绍了国外的三款xml转json的例子,希望这些例子能给你带来帮助. 最近在开发在线XML编辑器,打算使用JSON做为中间格式 ...

  9. ionic实现双击返回键退出软件

    1.首先要安装cordova插件:插件地址:cordova plugin add https://github.com/EddyVerbruggen/Toast-PhoneGap-Plugin.git ...

  10. 【求无向图的桥,有重边】ZOJ - 2588 Burning Bridges

    模板题——求割点与桥 题意,要使一个无向图不连通,输出必定要删掉的边的数量及其编号.求桥的裸题,可拿来练手. 套模板的时候注意本题两节点之间可能有多条边,而模板是不判重边的,所以直接套模板的话,会将重 ...