如何使用gm为节点添加居中文本(graphicsmagick/imagemagick)?

Ril*_*ana 6 node.js gm

这与节点的"gm"扩展有关,http://aheckmann.github.io/gm/docs.html

我需要添加一些以边界框为中心的文本(水平足够).函数drawText()需要x,y坐标,但无法绘制居中文本.

否则我需要一个能够返回给定字体/大小的文本字符串宽度的函数,所以我可以在调用drawText()之前用javascript计算我的起始x位置.

tom*_*cco 7

你可以这样使用regiongravity函数:

gm(filePath)
    .region(WIDTH, HEIGHT, X, Y)
    .gravity('Center')
    .fill(color)
    .fontSize(textFontSize)
    .font(font)
    .drawText(0, 0, 'This text will be centered inside the region')
Run Code Online (Sandbox Code Playgroud)

  • 我根本无法让它为我工作。我能够让该区域使用棕褐色过滤器,例如 .region(WIDTH, HEIGHT, X, Y).sepia(),但不能使用文本。相反,我只是简单地执行了 gm(filePath).drawText(0, 250, 'my text', 'North') 以使其居中对齐。 (2认同)