Patrones en ImageMagick
Para crear un lienzo en ImageMagick podemos hacerlo de varias maneras, podemos usar un color uniforme, un color aleatorio, un degradado, con franjas… y también podemos usar los patrones que tiene por defecto ImageMagick.
Lamentablemente no podemos listar estos patrones con el operador -list, por lo que dificulta la automatización de las pruebas con patrones. Pero aunque nos cueste un poco más, vamos a hacerlo de todas formas.
Primero, veamos los patrones que tiene ImageMagick:
bricks checkerboard circles crosshatch crosshatch30 crosshatch45 fishscales gray0 gray5 gray10 gray15 gray20 gray25 gray30 gray35 gray40 gray45 gray50 gray55 gray60 gray65 gray70 gray75 gray80 gray85 gray90 gray95 gray100 hexagons horizontal horizontal2 horizontal3 horizontalsaw hs_bdiagonal hs_cross hs_diagcross hs_fdiagonal hs_horizontal hs_vertical left30 left45 leftshingle octagons right30 right45 rightshingle smallfishscales vertical vertical2 vertical3 verticalbricks verticalleftshingle verticalrightshingle verticalsaw
Ahora que ya sabemos los patrones de ImageMagick,vamos a ver cómo se crea una imagen a partir de un patrón:
convert -size 100x100 pattern:vertical vertical.jpg
En lugar de usar xc:$color, que es el operador que usamos para crear un lienzo de un color uniforme o gradient:$color que lo usamos para crear degradados, para usar patrones usamos pattern: seguido del patrón a utilizar.
Si ya conocemos los patrones y cómo crear imágenes usando esos patrones, vamos a recorrer los patrones con un for y a crear una imagen con cada uno de ellos:
#!/bin/bash for i in bricks checkerboard circles crosshatch crosshatch30 crosshatch45 fishscales gray0 gray5 gray10 gray15 gray20 gray25 gray30 gray35 gray40 gray45 gray50 gray55 gray60 gray65 gray70 gray75 gray80 gray85 gray90 gray95 gray100 hexagons horizontal horizontal2 horizontal3 horizontalsaw hs_bdiagonal hs_cross hs_diagcross hs_fdiagonal hs_horizontal hs_vertical left30 left45 leftshingle octagons right30 right45 rightshingle smallfishscales vertical vertical2 vertical3 verticalbricks verticalleftshingle verticalrightshingle verticalsaw do convert -size 200x200 pattern:$i $i.jpg done
Y ahora comprobamos su resultado:
bricks
checkerboard
circles
crosshatch
crosshatch30
crosshatch45
fishscales
gray0
gray5
gray10
gray15
gray20
gray25
gray30
gray35
gray40
gray45
gray50
gray55
gray60
gray65
gray70
gray75
gray80
gray85
gray90
gray95
gray100
hexagons
horizontal
horizontal2
horizontal3
horizontalsaw
hs_bdiagonal
hs_cross
hs_diagcross
hs_fdiagonal
hs_horizontal
hs_vertical
left30
left45
leftshingle
octagons
right30
right45
rightshingle
smallfishscales
vertical
vertical2
vertical3
verticalbricks
verticalleftshingle
verticalrightshingle
verticalsaw
Pingback: Dibujar un tablero de ajedrez en ImageMagick – Linux en Español
Pingback: Crear lienzos de colores con patrones en ImageMagick – Linux en Español