【问题标题】:gulp-image doesn't compress JPGsgulp-image 不压缩 JPG
【发布时间】:2018-01-04 12:14:13
【问题描述】:

gulp-image 正在压缩 png 文件,没有任何缺陷,但是当涉及 jpg 格式时,它会保持原样。如果有任何帮助,这是我的配置:

var gulp = require('gulp');
var image = require("gulp-image");
var imagemin = require('gulp-imagemin');
var jpegRecompress = require("imagemin-jpeg-recompress");
var mozjpeg = require("imagemin-mozjpeg");
var jpegoptim = require('jpegoptim-bin');


// Optimization tasks
// -------------------

gulp.task("images:minify", function () {
    return gulp.src("images_src/**/*")
        .pipe(imagemin([imageminMozJpeg()], {
            verbose: true
        }))
        .pipe(gulp.dest("images_src/compressed"));
});

gulp.task("images:compress", function () {
    gulp.src("images_src/**/*.*")
    .pipe(image({
        jpegRecompress: true,
        jpegoptim: false,
        mozjpeg: true,
        concurrent: 10
    }))
    .pipe(gulp.dest("tmp"));
})

And here's what the terminal outputs when I run `gulp-image`:
[14:57:29] Using gulpfile ~/code/udacity-responsive-images/p1-my-solution/gulpfile.js
[14:57:29] Starting 'images:compress'...
[14:57:29] Finished 'images:compress' after 23 ms
[14:57:32] ✔ fixed/smiley_face.png -> before=3.8 KB after=478 B reduced=3.34 KB(87.7%)
[14:57:33] - horses.jpg -> Cannot improve upon 149.26 KB
[14:57:34] - still_life.jpg -> Cannot improve upon 81.13 KB
[14:57:35] - grasshopper.jpg -> Cannot improve upon 234.97 KB
[14:57:38] - rosella.jpg -> Cannot improve upon 676.67 KB
[14:57:39] - postcard.jpg -> Cannot improve upon 486.93 KB
[14:57:39] - cockatoos.jpg -> Cannot improve upon 485.34 KB
[14:57:39] - volt.jpg -> Cannot improve upon 522.92 KB
[14:57:39] - sfo.jpg -> Cannot improve upon 492.9 KB
[14:57:42] ✔ fixed/flourish.png -> before=43.43 KB after=15.42 KB reduced=28 KB(64.5%)

你能帮帮我吗?

【问题讨论】:

  • 请阅读第一篇文章以检查终端输出的内容。它说它不能压缩超过一定的大小。

标签: gulp compression jpeg


【解决方案1】:

我不认为有什么问题。各种 jpeg 压缩算法具有各种设置,您可以在其中调整要压缩的程度。 jpeg-recompress 的默认设置是:

['--strip', '--quality', 'medium', '--min', 40, '--max', 80]

参数描述在哪里:

--quality               Set a quality preset: low, medium, high, veryhigh
--min                   Minimum JPEG quality
--max                   Maximum JPEG quality
--strip                 Strip metadata

如果您指定不同的质量、最小值和最大值,您将获得不同的结果。如果 gulp-image 没有检测到给定设置的任何压缩(即输入大小等于输出大小),它将给你 Cannot 改进 消息。默认设置给出:

C:\a>gulp images:compress
[16:52:38] Using gulpfile ~\a\gulpfile.js
[16:52:38] Starting 'images:compress'...
[16:52:38] Finished 'images:compress' after 6.49 ms
[16:52:39] - cockatoos.jpg -> Cannot improve upon 485.34 KB

虽然这些设置:

gulp.task("images:compress", function () {
  gulp.src("images/**/*.*")
    .pipe(image({
      jpegRecompress: ['--strip', '--quality', 'medium', '--min', 1, '--max', 2],
      jpegoptim: false,
      mozjpeg: true,
      concurrent: 10,
    }))
    .pipe(gulp.dest("tmp"));
});

给出以下结果:

C:\a>gulp images:compress
[16:52:46] Using gulpfile ~\a\gulpfile.js
[16:52:46] Starting 'images:compress'...
[16:52:46] Finished 'images:compress' after 6.4 ms
[16:52:48] ✔ cockatoos.jpg -> before=485.34 KB after=84.93 KB reduced=400.42 KB(82.5%)

虽然现在凤头鹦鹉看起来很糟糕,但我想你可以四处寻找合适的设置。从我所看到的来看,gulp-image 似乎可以正常工作。

【讨论】:

  • 非常感谢您花时间给我这个答复。我不得不重新安装 gulp-image 以使其正常工作
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-04-14
  • 2012-03-09
  • 2016-12-22
  • 1970-01-01
  • 2014-11-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多