En ImageMagick podemos usar once puntos de referencia a la hora de alinear elementos, hacer recortes, ajustar o cualquier otra acción que implique el uso de unas coordenadas. Estos son:
None -> Sin punto de gravedad. Toma como referencia orientativa la esquina superior izquierda a la hora de hacer un mapa de bits, pero como los dibujos vectoriales no tienen punto de gravedad es mejor usar esta opción cuando vamos a hacer una imagen vectorial.
Center-> El centro. El punto resultante de calcular $anchura/2 x $altura/2
East-> Centro derecha. El punto resultante de calcular $anchura x $altura/2
Forget -> No hace uso del parámetro gravity, por lo que toma como referencia 0x0.
NorthEast -> Esquina superior derecha. El punto $anchura x 0
North -> Centro superior. El punto $anchura/2 x 0
NorthWest -> Esquina superior izquierda. El punto 0 x 0
SouthEast -> Esquina inferior derecha. El punto $anchura x $altura
South -> Centro inferior. El punto $anchura/2 x $altura
SouthWest -> Esquina inferir izquierda. El punto $anchura x 0
West -> Centro izquiera. El punto $altura/2 x 0
Listar los puntos de gravedad
Para listar los puntos de gravedad, como con cualquier otro listado en ImageMagick, podemos usar el parámetro -list. En este caso:
convert -list gravity
None
Center
East
Forget
NorthEast
North
NorthWest
SouthEast
South
SouthWest
West
Ejemplo de uso
Vamos a ver un script que nos muestre cómo queda un cuadro pequeño sobre otro más grande, para que se vea bien, montado con composite e indicándole las distintas posibilidades de punto de gravedad de ImageMagick:
#!/bin/bashconvert -size 500x500 xc:red fondorojo.pngconvert -size 50x50 xc:black cuadronegro.pngfor i in $(convert -list gravity)do composite cuadronegro.png -gravity $i fondorojo.png $i.pngdone
Que nos genera:
None.png

Center.png

East.png
Forget.png

NorthEast.png

North.png

NorthWest.png

SouthEast.png

South.png

SouthWest.png

West.png





