使用 graphicsmagick (node-gm) drawText 在图像上绘制文本

Draw text on image using graphicsmagick (node-gm) drawText

有这样的数组:

var myArray=[
  { title: 'Some title', time: 'Some time'},
  ...
  ];

和node-gm代码:

gm('bg.png')
  .fill("#ffffff")
  .font("Phenomena-Bold.otf", 27)
  .drawText(225, 75, "Some text")
  .write("result.png", function (err) {
    if (!err) console.log('done');
  });

需要将 myArray 中的每个项目添加到 .drawText() 并将 y 轴移动到 45px。 有什么想法吗?

你问了,我写了,测试了。

取(:

const
  gm = require('gm');

const myArray = [
  { title: 'Some title', time: 'Some time'},
  { title: 'Second title', time: 'second time'}
];

const
  image = gm('bg.jpg')
            .fill('#ffffff')
            .font('Arial', 27) // I didn't wanted to play with fonts, so used normal default thing (:
            .drawText(225, 75, "Some text");

let x = 225;
let y = 75;
for(const text of myArray) {
  y += 45;
  image.drawText(x, y, text.title);
}
image.write('result.png', err => {
  if(err) return console.error(err);
  console.log('done');
});