これが尋ねられたが、私は答えを見つけるのが苦労している場合はお詫び申し上げます。イメージにラベルを追加するNodeJS ImageMagick
ImageMagickでNode GMパッケージを使用しています。私は印象の下にあるので、label
はそこでしか働かない。
画像を取得し、その上にlabel
を追加したいとします。
私はもともとこれを達成するためにdrawText()
を使用していましたが、私はlabel
の自動サイジングをIMで利用する必要があります。私が持っているものは:
im(path.join(__dirname, '../public/images/imgen/backgrounds/', color + '_' + type + '.png'))
.gravity('West')
.fill('#FFFFFF')
.font(path.join(__dirname, '../public/fonts/Lato/Lato-Bold.ttf'))
.out('label: ' + text)
.write(
path.join(__dirname, '../public/images/imgen/generated/', fileName), function(err) {
if (!err) {
// If the write was successful then redirect to the new image
res.redirect('/images/imgen/generated/' + fileName);
} else {
console.error(err);
res.status(500).end();
}
});
上記は、1つではなく2つの画像を生成します。私は空のイメージを作成し、そのイメージをバックグラウンドとして挿入する必要があると推測しています。しかし、私はこれを行う方法を解決することはできません。
im(1080, 1080)
.gravity('West')
.fill('#FFFFFF')
.font(path.join(__dirname, '../public/fonts/Lato/Lato-Bold.ttf'))
// Add the image as a background here
.out('label: ' + text)
.write(
path.join(__dirname, '../public/generated/', fileName), function(err) {
if (!err) {
// If the write was successful then redirect to the new image
res.redirect('/images/imgen/generated/' + fileName);
} else {
console.error(err);
res.status(500).end();
}
});
ここで画像を背景として追加すると、画像を追加する方法がわかりません。私は画像を挿入するgm docsのどこにもそれを見つけることができません。
私は.out('texture: ...')
と.out('background: ...')
を試しましたが、見た目はありません。 IM convert: no decode delegate for this image format
TEXTURE '@ error/constituec.c/ReadImage/501'から次のエラーが表示されます。
おそらくout()メソッドが正しく理解されていない可能性があります。しかし、Githubの問題と検索結果を掘り下げても答えは出てこない。
お手数ですがお寄せいただきありがとうございます。
うわー、感謝@マークセットチェル。私はそれがどのように働いたのか分かりませんでした。私はドキュメントからそれを取得せず、ラッパー(主にPython)でIMを使用しただけです。ノードでこれを動作させようとするでしょう –
別のイメージをバックグラウンドとして追加するコマンドはどちらですか?あなたが使用したコマンドは、ImageMagickに欠けているように見えるので、何か間違っているかもしれません。 –
最後にその例を追加しました。 –