- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当您在网站上运行适用于 Firebug/Firefox 的 Google PageSpeed 插件时,它会建议可以无损压缩图像的情况,并提供下载此较小图像的链接。
例如:
这适用于 JPG 和 PNG 文件类型(我尚未测试 GIF 或其他文件类型。)
还要注意 Flickr 缩略图(所有这些图像都是 75x75 像素。)它们可以节省相当大的费用。如果这真的很棒,为什么雅虎不将此服务器端应用到他们的整个图书馆并减少他们的存储和带宽负载?
甚至 Stackoverflow.com 也能节省一些非常小的费用:
我发现 PageSpeed 建议我使用 Photoshop 的“另存为 Web”功能创建的 PNG 文件可以节省相当可观的费用。
所以我的问题是,他们对图像进行了哪些更改才能将图像减少这么多?我猜不同的文件类型有不同的答案。这对于 JPG 来说真的是无损的吗?他们如何打败 Photoshop?我应该对此有点怀疑吗?
最佳答案
如果您确实对技术细节感兴趣,请查看源代码:
<小时/>对于 PNG 文件,他们使用 OptiPNG 并进行一些试错方法
// we use these four combinations because different images seem to benefit from
// different parameters and this combination of 4 seems to work best for a large
// set of PNGs from the web.
const PngCompressParams kPngCompressionParams[] = {
PngCompressParams(PNG_ALL_FILTERS, Z_DEFAULT_STRATEGY),
PngCompressParams(PNG_ALL_FILTERS, Z_FILTERED),
PngCompressParams(PNG_FILTER_NONE, Z_DEFAULT_STRATEGY),
PngCompressParams(PNG_FILTER_NONE, Z_FILTERED)
};
当应用所有四种组合时,保留最小的结果。就这么简单。
(注意:如果您提供 -o 2
到 -o 7
,optipng
命令行工具也会执行此操作)
对于 JPEG 文件,他们使用 jpeglib有以下选项:
JpegCompressionOptions()
: progressive(false), retain_color_profile(false),
retain_exif_data(false), lossy(false) {}
<小时/>
同样,WEBP 是使用libwebp 进行压缩的。使用这些选项:
WebpConfiguration()
: lossless(true), quality(100), method(3), target_size(0),
alpha_compression(0), alpha_filtering(1), alpha_quality(100) {}
<小时/>
还有image_converter.cc用于无损转换为最小格式。
关于compression - Google 的 Page Speed 无损图像压缩如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5451597/
我正在寻找一个专门用于进一步压缩Jpeg而不改变图像的库。我找到了PackJpeg,但它不提供任何源代码,并且您不允许在商业上使用它。 最佳答案 在PackJPG page上,有一个指向JPEG Op
对于我的视频隐写项目(java),我需要将连续的 PNG 编码到电影文件中。我尝试了xuggler,但我得到了压缩。(由于隐藏在png图像的LSB中的数据在下次我从视频中提取帧时会丢失) 因为我需要稍
我想根据一个或多个模型的属性来过滤 Backbone 集合。我已经阅读了这个问题,我注意到讨论最多的解决方案是简单地使用 this.where({"applicationType": applicat
有没有办法使用 Python 或使用命令行无损将 PDF 旋转 90 度? 我正在寻找真正的旋转,而不仅仅是在 PDF 中添加“/ROTATE 90”,因为之后我必须通过 Hylafax 发送 PDF
我目前正在尝试在 FFMPEG 上使用 H264 对 RGB24 文件进行无损压缩。但是,H264 压缩(RGB24 -> YUV444)中使用的色彩空间转换已被证明是有损的(我猜测是由于量化误差)。
我目前正在处理无损 JPEG 文件(不是 JPEG-LS)。很难找到任何文件来测试我的应用程序。 特别是我需要包含重置间隔标记、多个 DC 霍夫曼表、多个场景或注释标记的文件。 你知道我在哪里可以找到
我正在尝试无损压缩图像,为了利用规律性,我想将图像从 RGB 转换为 Y'CbCr。 (我所说的 RGB 和 Y'CbCr 的具体细节在这里并不重要;RGB 数据由三个字节组成,我有三个字节来存储结果
我正在尝试仅使用 JavaScript 和 HTML5 自己创建 DICOM 查看器。最近几天我一直在研究这个项目,现在我成功解析了我需要的所有文本信息,并且我还可以正确读取和显示未压缩的灰度和 RG
Google 的 PageSpeed 工具告诉我优化我的 PNG 图像,这些图像在 Photoshop 中保存用于网络。在研究了无损 PNG 压缩选项后,我下载了 ImageOptim 并通过它放了一
我需要压缩视频流以通过网络将其从 C++ 库传输到 Java 平台 (Android) 并在那里解压缩。要求如下: 该库必须可用于 Android 平台和 C++(或者,2 个使用通用格式的独立库)
使用 ffmpeg h264(无损)编码/解码视频的见解 所以我在编码部分做了一些工作,用 264 编码一个 avi,但是 VLC 不会播放它,但是 Totem 会。解码同一个文件证明很麻烦。 (我想
我是一名优秀的程序员,十分优秀!