suchen

Heim  >  Fragen und Antworten  >  Hauptteil

node.js - 大家用啥图片压缩工具? 如 tinypng, 智图, imagemin之类的?

为何imagemin的压缩量这么小?

高洛峰高洛峰2867 Tage vor596

Antworte allen(8)Ich werde antworten

  • 黄舟

    黄舟2017-04-17 13:15:15

    用默认组件和默认参数当然压不下去,imagemin得自己搭配组件和参数啊。。。

    贴段自己写的:

    gulp.task('imgmin', function() {
        var jpgmin = imageminJpegRecompress({
                accurate: true,//高精度模式
                quality: "high",//图像质量:low, medium, high and veryhigh;
                method: "smallfry",//网格优化:mpe, ssim, ms-ssim and smallfry;
                min: 70,//最低质量
                loops: 0,//循环尝试次数, 默认为6;
                progressive: false,//基线优化
                subsample: "default"//子采样:default, disable;
            }),
            pngmin = imageminOptipng({
                optimizationLevel: 4
            });
        gulp.src(srcImage)
            .pipe(imagemin({
                use: [jpgmin, pngmin]
            }))
            .pipe(gulp.dest(dstImage));
    });

    压缩jpeg和png效果还行,其它格式一直摸不到门所以就用默认处理了。


    工具类的软件, 目前我用的是Antelope, 文件往里一拖直接点优化就行了.

    Antwort
    0
  • PHPz

    PHPz2017-04-17 13:15:15

    写几行代码,自己压缩

    Antwort
    0
  • 巴扎黑

    巴扎黑2017-04-17 13:15:15

    http://www.atool.org/pngcompression.php 自己做的,支持jpg png,效果绝对牛逼…

    Antwort
    0
  • PHP中文网

    PHP中文网2017-04-17 13:15:15

    我用了这个插件 https://www.npmjs.com/package/gulp-tinypng-compress
    优点是压缩效果很好,图片质量也有保证,因为用的是https://tinypng.com他的api.
    缺点是时间特别长,每月有数量限制

    Antwort
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 13:15:15

    我用lwip

    Antwort
    0
  • PHPz

    PHPz2017-04-17 13:15:15

    fis3已内置,忘了

    Antwort
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 13:15:15

    Pngquant

    Antwort
    0
  • 高洛峰

    高洛峰2017-04-17 13:15:15

    npm中不是有imagemin模块,我个人喜欢用gulp;
    可以参考官方提供的demo, 官方demo使用const请修改成varconst是es6语法。

    const gulp = require('gulp');
    const imagemin = require('gulp-imagemin');
    const pngquant = require('imagemin-pngquant');
     
    gulp.task('default', () => {
        return gulp.src('src/images/*')
            .pipe(imagemin({
                progressive: true,
                svgoPlugins: [{removeViewBox: false}],
                use: [pngquant()]
            }))
            .pipe(gulp.dest('dist/images'));
    });

    Antwort
    0
  • StornierenAntwort