使用ImageMagick为你的网站减重

news/2024/5/9 12:04:52/文章来源:https://blog.csdn.net/dcj3sjt126com/article/details/84457730
Images as a percentage of page weight for the Alexa top 10 global web sites 
 
图片在网站所占的比重越来越重。更好的优化图片可以提高网站速度。减少宽带流量。 

1.对用户上传图片进行缩放 
    对于用户自己上传的图片不能简单的 用css限制大小,因为这样每次加载图片时候还是会加载整幅大图。占用多余的宽带,并且影响页面加载速度。应该根据实际显示需要进行缩放。比如我想要用户相册里的图片大小不能超过500x300: 
用ImageMagick处理起来很简单 
Im代码   收藏代码
  1. convert -resize "500x300>" input.jpg  output.jpg #如果图片比500x300小就保持原样,以防小图片被放大失真。  


2.生成不同比例缩略图 
    一般相册等应用,都会提供缩略图和预览图,这些缩略图同样不能简单的用css来限制大小,要为每个图片生成不同比例的预览图。 

3.去除多余信息 
    Exif信息是数码相机在拍摄过程中采集的一系列信息,这些信息放置在我们熟知的jpg文件的头部,也就是说Exif信息是镶嵌在JPEG图像文件格式内的一组拍摄参数,主要包括摄影时的光圈、快门、ISO、日期时间等各种与当时摄影条件相关的讯息,相机品牌型号,色彩编码,拍摄时录制的声音以及全球定位系统(GPS)等信息。简单的说,它就好像是傻瓜相机的日期打印功能一样,只不过Exif信息所记录的资讯更为详尽和完备。不过,具有Exif信息的JPEG图像文件要比普通的JPEG文件略大一点。还有就是像PS这种软件处理过的图片会有“program comments”。如果不是专业的摄影类网站,这些信息是没有用的,可以去掉: 
Im代码   收藏代码
  1. convert -strip input.jpg output.jpg  

4.调节压缩比 
    大多时候,我们的网站并不需要那么清晰的图片,适量调节JPG图片的压缩比会减少图片大小,肉眼并不会分辨出质量被压缩后的图片。通常75%是最佳比例。 
Im代码   收藏代码
  1. convert -quality 75% input.jpg output.jpg  


上面几个步骤可以一次搞定: 

Im代码   收藏代码
  1. convert -resize "500x300" -strip -quality 75% input.jpg output.jpg  


上面说的都是针对JPG格式的处理方式,下面说一下BMP,GIF,PNG等格式的处理。 

对于BMP直接转成JPG就可以了。再按照上面的方式处理。 

而GIF和PNG貌似有些特殊。GIF的一些特性(动画效果,透明等)是JPG没有的,可以根据实际情况选择转或不转,如果转换成jpg,取第一帧只需要这样: 
Im代码   收藏代码
  1. convert -format jpg input.gif input.jpg  


PNG也可以通过减少PNG图片color数量的办法达到压缩的目的。但是这种办法压缩出来的图像可以明显看出来失真,而且呈锯齿状。 

对于真实世界的PNG图片(通常指照片),一般先转换成JPG,再通过上面的办法来压缩。 

但是要注意一点,透明或半透明的PNG图片在转换成JPG时透明部分会变成黑色。。。建议做用户头像时候不要转成JPG。。很难看~~~ 
本人头像就是深受毒害。。 

关于图片扩展名 

发现大部分网站喜欢把用户上传的图片(头像,相册等)都统一转成特定格式(一般都是jpg)。这样做的潜在弊端就是在用像ImageMagick这样的软件处理的时候会根据扩展名做隐式格式转换。 
个人觉得在保存图片的时候不加扩展名处理起来更灵活一些。 

注:把上面的命令行用mini_magick改写用到rails里很容易的。mini_magick本质就调用系统命令行嘛~~ 

links: 
本文所说的都是对用户上传的图片处理,对网站自身的图片(header,banner等)处理《Even Faster Websites》一书第十章里面写的很详细了: 
http://www.graphics.com/modules.php?name=Sections&op=viewarticle&artid=756 

更多ImageMagick用法: 
http://www.imagemagick.org/script/index.php 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_865690.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用ImageMagick为你的网站减重(2)

以前写过一篇博客《使用ImageMagick为你的网站减重》,涉及到的手段是: 在服务器端把图片缩放到合适的尺寸,避免在前端用css缩放图片。用imagemagick的strip功能移出图片里的EXIF等多余信息。压缩JPEG图片的质量,减少图片体积。 Lo…

大型网站系统架构演化之路

前言 一个成熟的大型网站(如淘宝、天猫、腾讯等)的系统架构并不是一开始设计时就具备完整的高性能、高可用、高伸缩等特性的,它是随着用户量的增加,业务功能的扩展逐渐演变完善的,在这个过程中,开发模式、技…

丑事网是史上SEO最差的网站

做过网站的人一定都知道SEO,即搜索引擎最佳化(Search Engine Optimization),又称为搜索引擎优化,其主要工作是通过了解各类搜索引擎如何抓取互联网页面、如何进行索引以及如何确定其对某一特定关键词的搜索结果排名等技…

大型电子商务网站架构之--分布式可扩展数据库架构

近几年分布式成为热门的话题,也成为大型系统必备良药,而在数据库方面应用更加广泛。通过采用普通廉价的设备构建出高可用性和高扩展的集群目的。从而摆脱了大型设备的依赖,一个好的分布式数据库架构可以比较方便达到高可用性有可以达到向外扩…

网站的高性能架构

网站性能是客观的指标,可以具体体现到响应时间、吞吐量、并发数、性能计数器等技术指标。 1、性能测试指标 1.1 响应时间 指应用执行一个操作需要的时间,指从发出请求到最后收到响应数据所需要的时间。如下列出了系统常用的操作响应时间表. 操作 响应时…

用VSTS进行网站压力测试

VSTS提供了一个丰富、强大的工具平台,融合了软件开发领域的各个角色,涵盖软件开发生命周期的各个阶段,包括设计,开发,测试,管理,而这一整套构件的融会贯通,让它可以有效地改善软件开…

小白建站教程 腾讯云快速建站教程

相信不少的小伙伴都希望能有一个自己的网站,但是对于不会编程或者只有一点点技术的人来说自己搭建服务器、弄环境、写程序有点太困难了,有没有一种能让小白也能快速搭建自己网站的方法呢?今天就来给大家分享一下如何在腾讯云(阿里…

网站是用mssql好还是mysql_mssql和mysql哪个好

MySQL和MSSQL各有各的优缺点,要根据项目实际情况来选择。MySQL是免费的数据库适合应用在小中型网站上,MSSQL是收费的商用数据库一般用在大型网站上。 MySQL与MSSQL哪个好 MySQL可以说是MSSQL的简化版本。理念相同,但MySQL的实现比MSSQL的需求…

搭载Ubuntu18.04的服务器的ASP.Net Core的搭建以及使用VS2017上传网站的学习

要在远程服务器Ubuntu18.04上运行ASP.Net,第一步需要搭建运行环境 主要参考:https://dotnet.microsoft.com/learn/dotnet/hello-world-tutorial#ubuntu 首先安装源 wget -q https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-p…

网站遇到Bytespider爬虫该怎么办?

早上打开网站,发现超级卡,以为是网速原因,调试了路由器无济于事,都说重启大法好,重启那就重启web服务试试,可惜依旧没用,不过重启的时候发现CPU彪到99,我还以为是被谁Doos了。 发现…

如何防止网站被侵入,如何防止网站被挂马,如何防止网站被入侵?

一:挂马预防措施: 1、建议用户通过ftp来上传、维护网页,尽量不安装asp的上传程序。 2、对asp上传程序的调用一定要进行身份认证,并只允许信任的人使用上传程序。这其中包括各种新闻发布、商城及论坛程 序,只要可以上传…

android学习笔记15--------------获取网站html

转载注明出处:袁方的技术博客 http://blog.csdn.net/yf210yfimport java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL;import junit.f…

电脑网站中有哪些有趣却不出众的小众网站呢

我们在使用电脑的时候会发现不少有趣的电脑网站,这些网站的名声并不出众,但是这些小众的网站却有很多有趣的故事和图片。我们在这些小众的网站上还可以看到一些世界上发生的一些有趣的、奇异的小故事,还有一张张美丽的图片在网站上展示出来。…

给网站添加“开放搜索描述“以适配浏览器的“站点搜索“

背景 要在一个常用网站搜索,想必大部分人会这样: 访问这个网站的的主页或者任意一个带搜索框的页面聚焦输入框,输入关键词并Enter 而如果一个网站适配了浏览器的"站点搜索"(site search)特性,…

Android开发时,那些相见恨晚的工具或网站!

本文来我在知乎话题Android开发时你遇到过什么相见恨晚的工具或网站?下的回答! 在实际Android开发过程确实会有很多相见恨晚的工具或网站出现,下面是我自己的一些分享。 1、源码网站 https://github.com/googlesamples Android系统每次推出一…

用织梦创建本地网站通过Tomcat成功部署到Linux服务器详细教程(Ubuntu16.04)

用织梦创建本地网站成功部署到Linux服务器全过程详细教程(Ubuntu16.04) 织梦创建本地网站成功部署到Linux服务器详细教程(Ubuntu16.04) 本教程旨在帮助那些建网站小白如何从头搭建起本地网站并且最终上传到自己或公司的服务器上…

显示网站Alexa世界排名的代码

作者:佚名 转贴自: 苹果理想3dapple Alexa世界排名众多站长已经不会陌生了,今年将它炒的非常厉害,众多网站不论是拉广告还是做宣传都会以Alexa世界排名作为依据。因此,在这里西部E网(weste.net&#xf…

关于我的个人网站(一)

这两天我中国丫头这个个人网站突然打不开了,空间是用的朋友的,大概是出什么问题了吧,反正也没有再去更新了,也没有问朋友原因,他也忙,也不能总是麻烦人家,关闭了就关闭了,早就有重新…

关于我的个人网站(二)

现在要说的就是中国丫头这个网站了,也是2003年九月份做的.... 点击这里进入

出来混迟早要还的-Alexa开始清算 国内作弊网站几乎全部落网

作者:周腥腥的博客 来源: 博客中国出来混迟早要还的,Alexa的报复行动开始了.Alexa的行动从2005年1月21日开始了......Alexa的作弊网站一个一个露出了原形.Alexa作弊最近一段时间已经成为的热门话题,作为一个相对权威排行,它肯定会尽可能的去阻止作弊,更不允许某些人…