사과를 부탁했지만 답변을 찾는데 어려움이 있습니다.이미지에 레이블 추가 NodeJS ImageMagick
ImageMagick과 함께 Node GM 패키지를 사용하고 있습니다. 내가 인상을 받고 있기 때문에 label
이 거기에서 작용한다.
이미지를 찍고 그 위에 label
을 추가하고 싶습니다.
원래는 drawText()
을 사용하고 있었지만 메신저에서는 label
의 자동 크기 조정을 활용해야합니다. 내가 가지고있는 것 :
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();
}
});
위의 그림은 하나가 아닌 두 개의 이미지를 생성합니다. 나는 빈 이미지를 만들고 이미지를 배경으로 삽입해야한다고 생각합니다. 그러나 나는 이것을하는 법을 배울 수 없다.
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 '오류/구성 파일/ReadImage/501'에서 다음과 같은 오류가 발생합니다.
아마도 out() 메서드를 제대로 이해하지 못했을 것입니다. 그러나 Github 문제와 검색 결과를 통해 답을 얻지 못했습니다.
미리 도움을 주셔서 감사합니다.
와우 감사합니다. @ mark-setchell. 그게 어떻게 작동하는지 나는 몰랐다. 필자는 문서에서 그 내용을 얻지 못했고 래퍼 (주로 Python)를 사용하여 IM 만 사용했습니다. Node와 함께 작동 해 봅니다. –
다른 이미지를 배경으로 추가하는 명령은 무엇입니까? 당신이 사용하고있는 명령이 ImageMagick에서 빠져있는 것처럼 보입니다. 그래서 나는 잘못된 것을 할 수 있습니다. –
끝에 예제를 추가했습니다. –