2012-09-01 26 views
5

Soy muy nuevo en ImageMagick - He leído documentación y ahora llegué a la primera situación del mundo real. Tengo una imagen (300 * 500) y tengo algo de texto que debe colocarse lo mejor posible (lo más grande posible) en el 20% de la parte superior de la imagen. Entonces el texto debe estar en el rectángulo 300 * 100, el resto de la imagen permanece igual. ¿Es esto posible con la imagen mágica? ¿Cuál es la mejor manera de hacerlo?ImageMagick - Texto en el rectángulo

Estoy buscando la línea de comando o la solución de extensión de php. ilustrativa simple continuación

Simple ilustration

Respuesta

7

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:

output example 1   output example 2

(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á.

Cuestiones relacionadas