Gulp Graphicsmagick - 设置背景图像(复合)

时间:2016-07-19 19:44:41

标签: image-processing gulp graphicsmagick

如何使用Graphicsmagick Gulp模块将背景图像添加到部分透明的png中? (https://www.npmjs.com/package/gulp-gm

这是我的gulp任务:

gulp.task("addBackground", function () {
  gulp.src('input/*.png')
  .pipe(gm(function (gmfile) {
    return gmfile.composite('background.jpg');
  }))
  .pipe(gulp.dest('output/'));
});

然而,当我尝试运行此任务时,我的任务全部完成,然后它抛出以下错误: enter image description here

对于如何解决此问题或在此发生的事情的任何见解表示赞赏。

1 个答案:

答案 0 :(得分:0)

我也遇到了同样的错误,最后找到了解决方案;由于您正在尝试添加背景,因此它可能不适用于您的计划,但它确实会产生一个组合2个图像的解决方案。希望这可以为您提供一个找到更好解决方案的起点。

gulp.task( 'composite', function () {
   gulp.src('path/image.png')

   .pipe( gm( function ( gmfile ) {
       return gmfile
       .draw('image Over 2,2 0,0 path/overlay.png')
   } ) )
   .pipe( gulp.dest( 'newpath/' ) );
} );

第一组数字" 2,2"是为x,y开始。我不确定第二套的功能。

我找到了解决方案,基于这个关于水印的github解释:https://github.com/aheckmann/gm/issues/276