在node.js和graphicsmagick中创建带背景的透明图像

时间:2014-09-25 10:54:37

标签: node.js image graphicsmagick

如何在node.js中使用GraphicsMagick创建以下效果(使用gm库)?

  • 从缓冲区中读取图像
  • 设置背景颜色
  • 模糊
  • 不透明度
  • 将新图像作为缓冲区返回

我正在尝试的不起作用:

gm(buffer)
    .background("#ff00aa")
    .blur(10,5)
    .operator('Opacity', 'Assign','30%')
    .resize(width)
    .toBuffer("JPG", function (err, buffer) {
        ...
    });

我想要的是这个结果:

enter image description here

1 个答案:

答案 0 :(得分:2)

管理解决它:

gm(buffer)
    .out("-matte")
    .out("-operator", "Opacity", "Assign", "90%")
    .out("-flatten")
    .out("-background", "#ff00aa")
    .blur(100,30)
    .resize(width)
    .toBuffer("JPG", function (err, buffer) {
        handleResponse(deferred, err, buffer)
    });