`
chingho
  • 浏览: 12848 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
最近访客 更多访客>>
社区版块
存档分类
最新评论

图片压缩后,依然很大的解决方案

阅读更多

昨天碰到一个很奇怪的事情,在最近的一个项目有这样的一个需求,把上传的图片进行压缩,避免因图片过大而影响浏览速度。

 

代码也很简单三两句就可以实现了,但发现压缩后的图片,虽然有变小,但还不是很明显。

代码如下: 

 

 

public void CreateThumbnailImage() { Image img = Image.FromFile("e:/1.jpg"); Image.GetThumbnailImageAbort cb = new Image.GetThumbnailImageAbort(CallBack); Image thumbnailImage = img.GetThumbnailImage(120, 120, cb, System.IntPtr.Zero); thumbnailImage.Save("e:/2.jpg"); } public bool CallBack() { return false; }


本来是一张大约800*700的图片(80kb),压缩到120*110左右的图片,大小应该在10kb以内,但我却发现压缩后的图片却有45kb。有个别的图片压缩后反而比原来的更大,而且用网页打开也无法显示。

 

后来查了一下相关的文档,发现.net在保存图片时,是以png默认的格式来保存,我想问题应该就是出在这了,还是试试吧。  

 

 

 

//获得缩略图 public void CreateThumbnailImage() { string imgFile = "e:/1.jpg"; Image img = Image.FromFile(imgFile); Image.GetThumbnailImageAbort cb = new Image.GetThumbnailImageAbort(CallBack); Image thumbnailImage = img.GetThumbnailImage(120, 120, cb, System.IntPtr.Zero); string extendName = imgFile.Substring(imgFile.LastIndexOf(".") + 1); ImageFormat imgFormat = GetImageFormat(extendName); thumbnailImage.Save("e:/2.jpg",imgFormat); } public bool CallBack() { return false; } //获得图片格式 private static ImageFormat GetImageFormat(String extendName) { extendName = extendName.ToLower(); if (extendName == "gif") { return ImageFormat.Gif; } else if (extendName == "jpg" || extendName == "jpeg") { return ImageFormat.Jpeg; } else if (extendName == "bmp") { return ImageFormat.Bmp; } else if (extendName == "wmf") { return ImageFormat.Emf; } else if (extendName == "exif") { return ImageFormat.Exif; } else if (extendName == "icon") { return ImageFormat.Icon; } else if (extendName == "tiff") { return ImageFormat.Tiff; } else { return ImageFormat.Png; } }


 

 

 

还真的是这样,压缩后的图片大小就只有4.6kb。

 

压缩注意事项:

 

1、压缩图片要指定保存的格式,虽然保存后图片名称是对的,但图片还是很大,而且在网页上还无法显示。

 

2、对于图片格式为gif且为透明的图片,如果压缩后要保留透明的,那压缩的格式就要用png的,而且图片的扩展名也为png,若压缩成gif的格式,它无法保留透明的部分。

 

 

分享到:
评论

相关推荐

    图片过大引起的内存溢出解决方案

    使用BitmapFactory加载图片时,如果图片过大可能引起OutOfmemory溢出的问题。解决办法。

    解决Vue打包后访问图片/图标不显示的问题

    接下来,我给大家分享一下我的解决方案~ 1.检查打包后dist中的css文件 打开此文件后你会头晕,因为都是打包压缩过的css代码,不过没关系 ,关键字搜索url   检查该url路径是否匹配正确 对比后惊人发现!!! 因此...

    专注于移动端的滑动解决方案iSlider.zip

    他和普通的web 端的滑动插件有很大不同,面向的用户和解决的问题也有很大差别,iSlider 的出现,解决的根本问题是内容的分屏显示,通过滑动操作来表示上一页内容或是下一页内容。而iSlider 是用最优雅的方式去解决,...

    rar压缩软件.rar

    在 c:\*.rar 压缩文件中的 *.txt 文件执行区分大小写的 "first level" 字符串的搜索 2) rar ih=f0e0aeaeab2d83e3a9 -r e:\text 在 e:\text 目录下的 rar 压缩文件中搜索十六进制字符串 f0 e0 ae ae ab 2d 83 ...

    big-pixel-image-view:基于canvas的web端实时浏览大图像解决方案

    big-pixel-image-view基于canvas的web端实时浏览大图像解决方案##背景作为一个web应用,http往往是最大的敌人。在传统web站点中,图片一直是让人又爱又恨的东西。通过图片可以让你的web站点变得丰富多彩,但是在web...

    网站优化方案设计.doc

    8 (五)营销目标 9 二、搜索引擎优化方案设计 11 (一)关键词优化设计 11 1、关键词选择 11 2、关键词优化运用 12 (二)图片优化设计 12 1、图片压缩 12 2、图片描述 12 (三)网站代码优化设计 12 1、清除垃圾...

    淘淘图片批处理之星.exe

    淘淘图片批处理之星是一个整体解决方案,它将诸多单一的功能有机的整合在一起,让您的工作变得轻松。她能自动完成许多繁锁的工作,从而让您有更多的时间和精力专注于业务的发展。   淘淘图片批处理之星有哪些特色...

    .net 应对网站访问压力的方案总结

    开年比较空,抽时间写个博文,总结下自己工作里的一些应对网站访问压力的技术方案。...负载均衡解决方案有很多,不差钱有不差钱的,屌丝有屌丝的方案。我用的是nginx负载均衡。 准备一台专用的nginx

    良精2012-ASP源码企业网站管理系统

    6. 其他信息:相当于无限扩展栏,并可进行无限分类,可以用于发布网站主栏目未归类的信息,如解决方案、成功案例、购买流程等。 7. 会员中心:会员可任意设置级别,并可根据级别限制浏览相关内容,会员机制与订购、...

    良精开源企业网站管理系统 v3.9.zip

    6. 任意设置的会员级别和浏览权限精确到每条记录,这对于希望不同内容针对不查看对象开放来讲,无疑是最佳解决方案。 7. 独具创意的其他信息无限扩展栏,对于希望发布固定栏目无法归类的其他信息,将是非常棒的...

    良精快速建站系统单语版

    其他信息:相当于无限扩展栏,并可进行无限分类,可以用于发布网站主栏目未归类的信息,如解决方案、成功案例、购买流程等。 7. 会员中心:会员可任意设置级别,并可根据级别限制浏览相关内容,会员机制与订购、...

    asp.net知识库

    一完美的关于请求的目录不存在而需要url重写的解决方案! 在C#中实现MSN消息框的功能 XmlHttp实现无刷新三联动ListBox 鼠标放在一个连接上,会显示图片(类似tooltip) 使用microsoft.web.ui.webcontrols的TabStrip与...

    史上最好传智播客就业班.net培训教程60G 不下会后悔

    再比如ASP.Net内置的AJAX解决方案UpdatePanel只在部分要求不高的内网项目中才被使用,因此我们在讲解UpdatePanel的使用和原理之外,把更多的时间放在讲解企业中用的最多的JQuery AJAX解决方案上。 6、B/S系统项目(7...

    创力网站管理系统 v4.2

    是北京今日学易科技有限公司基于ASP技术开发的网站管理系统,是一个经过完善设计并适用于各种服务器环境的易用、安全、高效、快速、优秀的网站解决方案。《Cl CMS》后台管理方便、易懂、易用、人性化,对操作...

    无限公司企业网站管理系统 V11 全功能商业中文版

    6. 其他信息:相当于无限扩展栏,并可进行无限分类,可以用于发布网站主栏目未归类的信息,如解决方案、成功案例、购买流程等。 7. 会员中心:会员可任意设置级别,并可根据级别限制浏览相关内容,会员机制与订购、...

    亿达企业管理网站V9.0

    其他信息:相当于无限扩展栏,并可进行无限分类,可以用于发布网站主栏目未归类的信息,如解决方案、成功案例、购买流程等。 7. 会员中心:会员可任意设置级别,并可根据级别限制浏览相关内容,会员机制与订购、...

    java开源包5

    JSTUN 是另外一个用来解决穿越 NAT 进行通讯的 Java 解决方案,是 STUN 协议的 Java实现。 在浏览器上运行Java程序 Doppio DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统,无需任何插件支持。目前它包含一...

Global site tag (gtag.js) - Google Analytics