如何在NodeJS中使用Graphicsmagick支持alpha通道创建新图像

时间:2017-11-18 15:30:46

标签: node.js transparency alpha graphicsmagick

我想创建一个带有白线和Alpha通道的网格图像,这样我就可以在另一张图像上构图。如何将alpha通道应用于gridImage实例而不是实心背景,如何使用drawLine方法更改绘制线条的颜色?

 var gridImage = new gm(imageWidth,imageHeight,"white");
    gridImage.channel("Opacity");
    gridImage.drawLine(10,0,10,200);
    gridImage.strokeWidth(3);
    gridImage.borderColor("white");
    gridImage.fill("white");

1 个答案:

答案 0 :(得分:0)

我不会说node因为我对所有这些括号都过敏,而且我不明白你想要达到的目标,但我可以告诉你一些可能对你有帮助的事情找出如何做你想做的事 - 希望如此。

我正在使用 ImageMagick ,但概念类似。以下命令创建一个100x100的纯洋红色正方形。然后它创建一个黑色和白色的较小的50x50图案,并将其复制到不透明度通道中,以便较小的50x50正方形在其中打孔。

magick -size 100x100 xc:magenta                \
    \( -size 50x50 pattern:HS_CROSS -negate \) \
       -compose copyopacity -composite result.png

enter image description here

这是另一个:

magick -size 100x100 xc:cyan         \
   \( -size 100x100 xc:white -fill black -draw "circle 50,50 50,60" -alpha off \) \
      -compose copyopacity -composite result.png

enter image description here