你会留意到Insus.NET在前一次的写了Reset Image Size的功能http://www.cnblogs.com/insus/articles/1909037.html,这个功能是在图片显示时去做图片缩略,有网友向Insus.NET提及,这样做有点不好,就是每run一次,系统就要缩略生成一次,这样会有损性能,希望能改善一下。为了改善性能,哪只有在图片上传时或在图片管理时,实现一个功能保存一份缩略图在目录中。

下面是代码(部分),请参考:

View Code

 System.Drawing.Image imgOriginal = System.Drawing.Image.FromFile(originalImagePath);
        //获取原图片的的宽度与高度
        int originalWidth = imgOriginal.Width;
        int originalHeight = imgOriginal.Height;

//定义缩略图片宽度和高度  
        int thumbnailWidth, thumbnailHeight;

//如果原图片的宽度与高度都小于缩略图片尺寸
        if (originalWidth < thumbnailSize && originalHeight < thumbnailSize)
        {
            thumbnailWidth = originalWidth;  //宽度等于原宽度
            thumbnailHeight = originalHeight;//高度等于原高度
        }
        //如果原图片宽度大于原图片的高度              
        else if (originalWidth > originalHeight)
        {
            thumbnailWidth = thumbnailSize;  //宽度等于缩略图片尺寸
            thumbnailHeight = originalHeight * thumbnailSize / originalWidth;  //高度做相应比例缩小
        }
        //如果原图片高度大于原图片的宽度
        else
        {
            thumbnailWidth = originalWidth * thumbnailSize / originalHeight; //宽度做相应比例缩小
            thumbnailHeight = thumbnailSize; //高度等于缩略图片尺寸
        }

System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(thumbnailWidth, thumbnailHeight);
        System.Drawing.Graphics graphics = System.Drawing.Graphics.FromImage(bitmap);

//设置缩略图片质量
        graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
        graphics.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
        graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
        
        graphics.DrawImage(imgOriginal, 0, 0, thumbnailWidth, thumbnailHeight);
       
        // 保存缩略图片
        bitmap.Save(imageSavePath);

Reset Image Size 2相关推荐

  1. wm命令(wm size)修改屏幕尺寸

    wm size可以查看当前屏幕分辨率,也可以设置屏幕分辨率(当然也就一般调试问题wm size). eg: wm size 720x1280 这里要注意了乘号不是*,是x字母 一.Wm源码 我们先来看 ...

  2. arkit与现实世界距离比_如何使用ARKit和Pusher构建实时增强现实测量应用程序

    arkit与现实世界距离比 by Esteban Herrera 由Esteban Herrera 如何使用ARKit和Pusher构建实时增强现实测量应用程序 (How to Build a Rea ...

  3. 【CSON原创】 图片滑动展开效果发布

    功能说明: 鼠标移动到不同图片上,该图片滑动展开,其它图片折叠. 支持IE 6 7 8 firefox chrome 效果预览:   实现原理: 当鼠标移动到某张图片,该图片以及该图片前的图片以相同速 ...

  4. adb命令实现一些有趣的功能

    下载ADB工具集,手机连接电脑后,用Windows自带命令行进入ADB工具,输入以下命令即可免root实现神奇功能 1.电量显示: adb shell content insert --uri con ...

  5. C++ Bitsets

    Bitsets Constructors Operators any count flip none reset set size test to_string to_ulong Constructo ...

  6. 16个超实用的jQuery技巧攻略

    本文我们将为jQuery用户分享8个超实用的技巧攻略.jQuery是JavaScript最好的库之一,主要用于制作动画.事件处理,支持Ajax及HTML 脚本客户端.此外,jQuery还拥有各种插件, ...

  7. Python常用的模块的使用技巧

    Python常用模块的使用技巧 目录 Python常用模块的使用技巧 1.Python配置说明 (1)Python注释说明 (2)函数说明 (3)ipynb文件转.py文件 (4)Python计算运行 ...

  8. win8学习--------File

    //创建文件 using namespace Windows::Storage; MainPage^ rootPage;rootPage = MainPage::Current; create_tas ...

  9. SPH(光滑粒子流体动力学)流体模拟实现六:Position Based Fluid(PBF)

    SPH(光滑粒子流体动力学)流体模拟实现六:Position Based Fluid(PBF) PBF方法和前篇提到的PCISPH方法类似,都属于迭代矫正法.PCISPH是通过迭代预测压力,通过压力变 ...

  10. SPH(光滑粒子流体动力学)流体模拟实现二:SPH算法(4)-算法实现2

    流体模拟(二) SPH算法实现2: 在前面一节我们完成了粒子缓存类,网格类和邻接表类.我们现在可以正式的整合在我们的流体系统类中了. 流体系统类 class FluidSystem{public:Fl ...

最新文章

  1. LoadRunner中log的使用总结
  2. php变量定义的位置,php变量一般放在哪个位置
  3. JAVA escape/unescape
  4. Flutter编译时生成代码之 code_builder
  5. Google Dremel数据模型详解(下)
  6. Windows Hello 可绕过漏洞进行身份认证
  7. oracle经典博客,Oracle启动步骤【经典博客】
  8. Yacc 与 Lex 快速入门
  9. linux下缓存命中测试,linux为什么报表缓存缓存未命中?_linux_开发99编程知识库...
  10. 用cmd运行java可以javac不行(win10)
  11. 自动化集成:Pipeline整合Docker+K8S
  12. 三和韓長庚 著 易學原理總論 對讀 021_040
  13. 一个完整的c语言的单链表代码,单链表完整C语言纯代码.docx
  14. 微软WIN10应用商店无法下载应用
  15. 深入理解PSNR(峰值信噪比)(附matlab代码)
  16. Java之T分布计算数据的双侧置信区间
  17. css中pt单位,pt是什么单位
  18. 河套学院2018级计算机一级考试,河套学院2018-2019学年本科生就业率
  19. 42招健脑秘笈——必看
  20. STM32F103系列之移植uCOS-II

热门文章

  1. mac 关闭 mysqld 进程(亲测可用)
  2. 微信小程序picker空白
  3. zend studio【快捷键】
  4. zbb20170919 设置eclipse myeclipse 在工程窗口 项目目录 显示代码错误提示的
  5. 科大讯飞(2) 语音合成(文字转换成语音)
  6. 盗链 防止盗链 防止图片盗链
  7. 【干货】--基于Python的文本情感分类
  8. 瑞虎7linux车机,颜值更高/车机系统运行快 实拍奇瑞瑞虎7神行版
  9. 安装CentOS7虚拟机
  10. 4.3 调度核心组件