关于节点 gm 图像不透明度
About the node gm image opactity
我想使用节点包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")
});
现在我想将文本 U
的不透明度设置为 0.5(而不是整个图像的不透明度)。那我该怎么办呢?
在将 fill
写为 #FFF
时,您实际上是以 RGB
格式指定它。如果您还想指定不透明度,则应移至 RGBA
规范,这样您还可以提供 Opacity/Alpha 设置。在十六进制术语中,8
或多或少是十六进制 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")
});
我想使用节点包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")
});
现在我想将文本 U
的不透明度设置为 0.5(而不是整个图像的不透明度)。那我该怎么办呢?
在将 fill
写为 #FFF
时,您实际上是以 RGB
格式指定它。如果您还想指定不透明度,则应移至 RGBA
规范,这样您还可以提供 Opacity/Alpha 设置。在十六进制术语中,8
或多或少是十六进制 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")
});