关于节点gm image opactity

时间:2015-12-25 03:57:12

标签: node.js imagemagick

我想使用节点包@if (! empty($variable) && $variable == 'yes') do something here @endif 来生成图像:

gm

现在我想让文字var fs = require('fs'), gm = require('gm').subClass({imageMagick: true}); ...... gm(200, 200, "#ddff99f3") .fontSize(200) .fill("#FFF") .drawText(27, 173, "U") .write("test.jpg", function (err) { console.log("OK") }); 的不透明度为0.5(而不是整个图像的不透明度)。那我该怎么办?

1 个答案:

答案 0 :(得分:1)

在将fill写为#FFF时,您实际上是以RGB格式指定它。如果您还要指定不透明度,则应移至RGBA规格,以便您还提供不透明度/ Alpha设置。以十六进制表示,8或多或少是hex F的一半,因此请尝试使用:

gm(200, 200, "#ddff99f3")
  .fontSize(200)
  .fill("#FFF8")                        <--- I have added `8` for Alpha/Opacity here
  .drawText(27, 173, "U")
  .write("test.jpg", function (err) {
    console.log("OK")
});