입력한 텍스트를 이미지로 출력하는 프로그램을 찾고 있습니다. 일종의 템플릿과 마찬가지로 다양한 텍스트/숫자 및 이미지를 입력하면 프로그램은 내가 지정한 좌표에 그 위에 텍스트가 있는 이미지를 출력합니다. 일괄적으로 하고 싶습니다. 이를 위해 사용할 수 있는 가장 좋은 프로그램은 무엇입니까?
답변1
convert
from 명령 은 ImageMagick
원하는 작업을 수행하여 텍스트의 글꼴 크기, 색상 및 위치를 지정할 수 있습니다.
예를 들어
convert -pointsize 20 -fill yellow -draw 'text 270,460 "My string" ' source.jpg results.jpg
답변2
ImageMagick은 convert
이 분야에서 확고한 위치를 차지하고 있습니다. 개인적으로 CLI의 여러 측면과 속도 측면 모두에서 형편없다고 생각합니다. (이것이 반드시 중단되는 것은 아닙니다.) 이는 아마도 웹 서버에서 실행되는 소프트웨어 중 가장 많이 악용되는 부분 중 하나일 것입니다.
gm
제 생각에는 GraphicsMagick이 훨씬 더 나은 성능을 발휘하며 다음을 수행할 수 있습니다.
#!/usr/bin/zsh
export text="Liam likes birds"
for infile in bird*.jpg; do
gm convert \
-font helvetica \
-pointsize 48 \
-fill blue \
-draw "text 100,100 \"${text}\""
${infile} ${infile:r}-with-text.webp
done
(GraphicsMagick은 분명히 ImageMagick의 포크라는 것을 알 수 있을 것입니다. 아니면 두 소프트웨어가 모두 같은 트리에서 나온 것 같습니다.GraphicsMagick의 구현은 그다지 불안정하지 않습니다.;-피. ImageMagick만큼 널리 악용되지는 않지만, 해당 사용 사례라면 사용자가 보낼 수 있는 이미지에서 소프트웨어를 실행할 때의 위험을 고려할 수 있습니다. 또한 덜 널리 배포되어 악용 대상이 되기 어렵습니다. )
rsvg-convert
문제가 더 복잡하다면 내부 참조 이미지 파일(스크립트가 대체할 수 있음)과 함께 SVG 파일 "템플릿"을 사용한 다음 예 를 들어 다음과 같은 다른 접근 방식이 있습니다.