首页 文章

通过Gulp进行适当的jpeg优化?

提问于
浏览
0

我将基于Gulp插件(例如imagemin包)找到jpg优化过程的最佳解决方案 . 我的目标是在Adobe Photoshop中压缩像Save For Web这样的jpg文件 - 渐进式:真实和质量:61 .

我有一个图像,以多种方式保存:

  • 01.jpg(Photoshop - > ctrl s,最佳质量(12),格式:基本(标准)) - 89.5 KB

  • 02.jpg(Photoshop - > ctrl s,高质量(8),格式:基本(优化)) - 51.1 KB

  • 03.jpg(Photoshop - > ctrl s,中等质量(6),格式:渐进式) - 47.5 KB

  • 04.jpg (Photoshop - > Save For Web,高品质(61),格式:渐进式) - 29.6 KB

So, my goal is to compress jpg via Gulp like 04.jpg.

The original image is 01.jpg (89.5 KB).

imagemin-jpegtran和imagemin-jpegoptim的结果还不够好,因为优化级别远不是Photoshop的Save For Web:

imagemin (jpegtran inside) -> 51.7 KB

imagemin-jpegoptim - 无法设置(任何帮助?)

module.exports = function (gulp, plugins, config) {
var jpegoptim = require('imagemin-jpegoptim');

return function(){

    gulp.src(config.assets.images.temp + '**/*.jpg')
        .pipe(jpegoptim({
            progressive: true
        })())
        .pipe(gulp.dest(config.assets.images.src));
}
};

错误:写EOF

module.exports = function (gulp, plugins, config) {
var jpegoptim = require('imagemin-jpegoptim');

return function(){
    gulp.src(config.assets.images.temp + '**/*.jpg')
        .pipe(plugins.imagemin({
            progressive: true,
            use: [
                jpegoptim({
                    max: 61
                })()
            ]
        }))
        .pipe(gulp.dest(config.assets.images.src));
}
};

破解图像(缩小100% - 破碎文件)

我尝试使用 imagemin-jpeg-recompress ,但它抛出一个错误:

Error: Premature end of JPEG file
JPEG datastream contains no image

所以我的问题是......

How to achieve the same results via Gulp, as through Photoshop Save For Web?

2 回答

  • 2

    问题在于插件 imagemin jpeg recompress - 它在Windows中存在问题,最近它已修复 . 所以,我的问题不再是实际问题了 .

  • -1

    首先,JPEG中没有“质量”这样的东西 . 质量是许多JPEG编码器用于选择量化表的机制 . 除非两个编码器为相同的质量值选择完全相同的量化表,否则在不同的编码器上使用相同的“质量”会得到不同的结果 .

    您需要找到正确的压缩设置组合,以获得您在GULP中实现的功能 .

    您需要的设置是:渐进式或顺序式 . 渐进式JPEG通常比顺序压缩更好 . 如果使用渐进式,则可以调整扫描次数 .

    调整采样可以改善压缩 .

    量化表选择还可以改善压缩 .

    您的编码器可能允许您在动态(更好但更慢)和静态(更差但更快)创建的霍夫曼表之间进行选择 .

    您必须使用所有这些设置才能获得所需的结果 .

相关问题