2017-10-15 34 views
0

나는 킨들 표지에 텍스트를 채우는 중입니다. 현재 convert은 렌더링 한 텍스트의 시작 부분이 caption: 인 것으로 보입니다. 원하는"캡션 :"이 캡션과 같은 동작을 트리거하는 대신 렌더링 된 문자열에 포함되는 이유는 무엇입니까?

convert kindle-cover.jpg -font "Georgia" -pointsize 150 -size 320x -gravity South -annotate +0+100 caption:'C.J.S. Hayward' workbench.jpg 

텍스트가 이미지의 하단을 중심으로하여, 폰트 크기 역시 완벽하지 않다 : 본 호출 읽는다. 그러나 caption:, -caption 등과 같은 여러 호출을 시도했지만 캡션과 같은 동작을하지 않는 것 같습니다.

표지의 저자명과는 관련이 없지만 사용자가 입력 한 제목을 감쌀 때 소프트 포장 및 동적 크기 조정을 비롯한 우아한 캡션과 같은 동작을 나타내는 제목을 허용하고 싶습니다.

레이블, 동작 대신 캡션을 얻으려면 어떻게해야합니까?

덕분에,

--UPDATE-- @Bonzo

내가 내 ImageMagick이 버전을 제공 할 것을 제안했다. 버전은 다음과 같습니다.

Version: ImageMagick 6.8.9-9 Q16 x86_64 2017-07-31 http://www.imagemagick.org 
Copyright: Copyright (C) 1999-2014 ImageMagick Studio LLC 
Features: DPC Modules OpenMP 
Delegates: bzlib cairo djvu fftw fontconfig freetype jbig jng jpeg lcms lqr ltdl lzma openexr pangocairo png rsvg tiff wmf x xml zlib 

컴퓨터에 Linux Mint의 현재 버전이 실행 중입니다.

Sample image

+0

당신은 태그 설명을 읽어야 할 수 있습니다. – EJoshuaS

+0

자막이있는 이미지를 만든 다음 그 이미지를 표지에 추가해야한다고 생각합니다. IM 버전을 확인하려면 누군가가 문제를 해결할 수 있다고 확신합니다. – Bonzo

+0

@EJoshuaS 실험적인 부분까지 http://www.imagemagick.org/Usage/text/#caption을 읽었습니다. 문서를 읽으라고하면 링크를 제공해 주시면 고맙겠습니다. (나는 단지'convert --help'를 실행하고 다른 접근법을 보았고, 시도해 보았고, 그것도 작동하지 않는다는 것을 발견했다). – JonathanHayward

답변

1

당신은 -annotate 및 캡션을 모두 사용하지 않아야합니다 : ImageMagick과 동일한 명령 줄에서. 하나 또는 다른 것을 사용해보십시오. 예를 들어 여기에는 3 가지 방법이 있습니다 : -annnotate, label : 및 caption : 작은 글꼴 크기. - 이미지에 직접 쓰십시오. label : 및 caption : 원본 이미지에 합성해야하는 별도의 이미지를 만듭니다.

convert kindle-cover.jpg -font "Georgia" -pointsize 72 -gravity south -annotate +0+100 'C.J.S. Hayward' workbench.jpg 

convert kindle-cover.jpg \(-size 320x -background none -font "Georgia" -gravity south label:'C.J.S. Hayward' \) -gravity south -geometry +0+100 -compose over -composite workbench.jpg 

convert kindle-cover.jpg \(-size 320x -pointsize 72 -background none -font "Georgia" -gravity south caption:'C.J.S. Hayward' \) -gravity south -geometry +0+100 -compose over -composite workbench.jpg 


편집 : 포장됩니다 후자 만이 처음 없습니다. 따라서 원하는 크기로 320x 크기로 설정해야합니다. bonzo가 말했듯이 IM 6에서는 입력 이미지 크기를 테스트하고 사용할 이미지의 크기를 지정해야합니다. 예를 들어, IM 6에서 이렇게 실행해야합니다. 텍스트 너비를 이미지 너비의 1/3로 설정한다고 가정 해 보겠습니다. 유닉스 구문에서, 당신은 할 것 :

ww=`convert kindle-cover.jpg -format "%[fx:w/3]" info:` 

convert kindle-cover.jpg \(-size ${ww}x -pointsize 72 -background none -font "Georgia" -gravity south caption:'C.J.S. Hayward' \) -gravity south -geometry +0+100 -compose over -composite workbench.jpg 


가 IM 7에서, 당신은

magick kindle-cover.jpg \(-size "%[fx:w/3]x" -pointsize 72 -background none -font "Georgia" -gravity south caption:'C.J.S. Hayward' \) -gravity south -geometry +0+100 -compose over -composite workbench.jpg 
+1

V6에서 차원을 동적으로 가져 오려면 형식과 같은 것을 사용해야하고 변수에 저장해야합니다. 반면 V7에서는 모든 것을 한 줄로 처리 할 수 ​​있습니다. – Bonzo