Dado que usted no proporcionó una imagen de muestra para la prueba y la aplicación de un texto que, he creado uno con el siguiente comando:
convert \
http://i.stack.imgur.com/RfJG6.png \
-crop 312x513+579+0 +repage \
so#12231624-right.png
Utilizando la imagen resultante como una entrada, ejecute estos tres comandos para ver cómo funcionaría (en Linux o Mac OS X):
width=$(identify -format %W so#12231624-right.png)
convert \
-background '#0008' \
-gravity center \
-fill white \
-size ${width}x100 \
caption:"This is a sample text to test \
the automatic sizing of fonts by ImageMagick." \
so#12231624-right.png \
+swap \
-gravity north \
-composite \
output1.png
convert \
-background '#0008' \
-gravity center \
-fill white \
-size ${width}x100 \
caption:"This is a even longer sample text. \
It also serves to test if automatic sizing of fonts \
by ImageMagick works as expected: just don't specify \
any fontsize, and let ImageMagick go for the best fit..." \
so#12231624-right.png \
+swap \
-gravity north \
-composite \
output2.png
imágenes resultantes:
(La salida no coincide exactamente con el cuadro dado - pero eso es sólo porque mi archivo de prueba todavía tiene un borde blanco, sin relleno (como parte de la imagen) que no me molesté en eliminar ...)
En otras palabras: simplemente no se moleste en especificar ningún tamaño de fuente usando -fontsize
. Solo proporcione el tamaño de la región que debería tener la anotación de texto. Luego, ImageMagick seleccionará automáticamente el tamaño de fuente que mejor se adapte y lo usará.