博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
图片即时优化的三种简单解决方案
阅读量:6840 次
发布时间:2019-06-26

本文共 1813 字,大约阅读时间需要 6 分钟。

\

本文要点

\
  • Web页面中的图片往往是页面加载缓慢的最主要原因; \
  • 图片优化很复杂,涉及大小调整、裁剪、格式转换及质量参数微调; \
  • 如今,有的云服务可以即时优化图片,极大地改善用户浏览包含图片的Web页面时的体验; \
  • 云服务提供了简单的API用于操作图片; \
  • 读者可以立即应用其中的一项服务,毫不费力地提升网站性能。
\

图片往往是导致页面加载缓慢的最主要原因。,以兆字节计的Web页面还在稳步增加,图片更是其中最大的部分。显然,大部分网站可以通过图片优化大幅提升性能。\

本文将介绍如何使用、和三种不同的云服务,借助几行代码轻松实现图片的自动优。你可以立即使用这些服务中的一种减少网站图片文件的大小,大幅提高页面加载速度和带宽使用率。\

图片优化涉及哪些方面?

\

在开始介绍如何自动优化图片之前,首先让我们了解下的基本要素:图片大小及调整、图片格式、图片质量或压缩。下面是图片优化的常见步骤,每一步对应其中一项要素:\

  • 根据图片在Web页面上实际占用的空间调整图片大小及裁剪图片。我们认为,在浏览器端调整大小是不好的做法,因为那会强制用户无谓地下载大图片。 \
  • 将图片转换成最恰当的文件格式。对于不同类型的图片,情况可能会有所差别;在某些情况下,PNG是最优的格式,而在其他情况下则是JPEG。如果用户有一个现代浏览器,则可以使用那个浏览器支持的新文件格式。例如,只有Chrome支持的WebP格式,或者IE9及以上版本支持的JPEG-XR格式。 \
  • 优化目标文件格式的压缩。例如,JPEG图片有一个质量设置。指定一个小于100%的质量百分比会压缩图片,但同时也会降低视觉品质。优化的艺术是找出不会导致可见质量损失的最高压缩水平(图片质量确实降低了,但只是轻微的,所以人根本注意不到)。确切的压缩阈值会因图片和格式的不同而有所差别。

另外一种优化是去掉文件中不必要的元数据。大部分照片都包含相机和图形应用存储的元数据,这增加了图片的大小,而且终端用户并不需要。本文将要介绍的所有图片优化服务都会同时去掉这类元数据。\

上述步骤非常耗时,而且需要具备专业知识才能达到理想的效果。对于只有几张图片的网站而言,也许可以手工优化图片。不过,在现代网站上,一个页面就有几十或者几百张图片,所以,自动化是有必要的。\

首先让我们看下如何手工优化图片。然后,我们将向你展示如何使用其中每一种云图片服务自动实现同样的优化。\

下面是参考图片。这是一个2048 X 1365像素的PNG文件,大小为3975KB。\

图片来源:\

为了让情况更复杂一些并充分利用不同工具的功能,我们假设这个横向图片需要刚好放入网页上用于放置肖像的纵向区域。下面是示例Web网页,借用了Wikipedia上的Parrots条目:\

(点击查看大图)

\

为了优化这个图片并将其放到网页上,我们需要执行以下步骤:\

  • 调整图片大小并进行裁剪,保证鹦鹉在可用区域里可见,而又不损失原始图片的长宽比。图片会明显变小。

    \
  • 从PNG转换成一个对这个图片而言更有效的文件格式,如JPEG。 \
  • 压缩图片,减少文件大小,而又不降低图片的视觉品质。

每个步骤都会明显减少文件大小,而又不会在视觉上降低质量。总之,如果我们调整图片大小,转换到一个更精简的文件格式,优化该格式的压缩参数,那么结果图片会是原始图片的一小部分。\

现在让我们看下,如何使用三种图片管理服务的其中一种自动实现这种转换,并且看下它们在每个阶段可以将文件缩小多少。\

请记住:这不是一个基准。图片内容不同,构图不同,优化后的文件大小可能会有差异。因此,这不是在对不同服务的有效性进行绝对测试,其有效性可能会因为图片类型的不同而不同。\

使用Kraken.io优化图片

\

Kraken.io是一项专门针对图片优化的云服务。其免费方案提供100MB的图片存储。\

Kraken提供一个API,你可以通过编程上传图片,或者提供一个指向该图片的URL。在调用这个API时,你可以给服务发送指令,让其对图片执行特定的优化,并下载优化后的新版本。\

下面是使用Kraken优化鹦鹉图片的步骤:\

1.,安装相关SDK,验证自己的身份,并使用POST请求将图片上传到Kraken。\

使用Kraken的PHP SDK,上传代码如下:

$kraken = new Kraken(\"your-api-key\

转载地址:http://uukul.baihongyu.com/

你可能感兴趣的文章
如何提高你的销售业绩
查看>>
中小企业云ERP系统的实施应用特点
查看>>
Memcached在项目中的应用
查看>>
纠结的chm为什么打不开?
查看>>
java list 遍历给javascript数组
查看>>
request 相关请求
查看>>
Product Key Explorer(程序密钥显示工具) v3.9.1官方版
查看>>
网上外卖及订餐系统的数据库设计
查看>>
Navicat Premium 数据传输如何设置
查看>>
java G1
查看>>
基于pcDuino的WiFi实时视频监控智能小车——硬件部分(二)
查看>>
01-UI基础-04-02-UITableView : UIScrollView
查看>>
linux md5sum 的用法
查看>>
Java高级-HashMap工作机制
查看>>
Windows 64位系统安装Apache2.4+PHP5.5+MySQL5.6
查看>>
MySQL事务隔离级别介绍及设置
查看>>
jquery grep()筛选遍历数组
查看>>
RN开发总结 关于RN组件的导出export和export default
查看>>
Nginx+keepalived双机热备+负载均衡 ???待续
查看>>
搜素框架
查看>>