⚠️ Este es un sitio de traducción no oficial, sin relación con ImageMagick Studio LLC. Para información autorizada, consulte la página original (https://usage.imagemagick.org/backgrounds/index.html).

Ejemplos de ImageMagick -- Fondos

Prefacio e índice de los ejemplos de ImageMagick Esta es una tabla que aplica diversas transformaciones sobre algunos lienzos «aleatorios» y muestra métodos para producir fondos aleatorios interesantes en el tamaño que se desee, ya sea una única imagen grande o un mosaico de fondo para una página web. La tabla comienza con el método empleado para generar la imagen «aleatoria» inicial, a partir de la cual se generan todas las demás imágenes mostradas. Basta con insertar las distintas «transformaciones» de imagen en el comando para convertir, mediante magick, la imagen en bruto en algo parecido a lo que se muestra. A partir de ahí se pueden ajustar los distintos parámetros para producir exactamente el tipo de imagen de fondo que se quiera. Conviene leer las notas del final antes de intentar crear sus propios ejemplos. Y si encuentra alguna variación interesante, no dude en compartirla por correo. Imágenes de entrada :- Generador, transformación y posprocesamiento |
---|---
Los resultados de imagen mostrados aquí se generaron con el operador de transformación nula "-noop"
Fractal de plasma (imagen de lienzo no teselable)
|

  magick -size 120x120  plasma:fractal fractal.png
  magick fractal.png   _{..transform..}_ \
           -shave 20x20 +repage  -auto_level  _{result}_

[IM Output]
Ruido aleatorio (imagen de fondo teselable)
|

  magick -size 80x80 xc: +noise Random noise.png
  magick noise.png -virtual-pixel tile  _{..transform..}_ \
          -auto_level  _{result}_

| [IM Output]
Mosaico hexagonal aleatorio (imagen de fondo en mosaico hexagonal)
|

  magick -size 50x80 xc: +noise Random -write mpr:rand \
           -extent 100x80   -page +50-40 mpr:rand \
           -page +50+40 mpr:rand -flatten  hextile.png
  magick hextile.png -virtual-pixel tile  _{..transform..}_ \
          -auto_level    _{result}_

| | [IM Output]
|
Transformaciones básicas
blur_raw (sin -auto-level posterior) |

  -blur 0x1

[Fractal] | [Noise] | [Noise]
blur_1 |

  -blur 0x1

[Fractal] | [Noise] | [Noise]
blur_3 |

  -blur 0x3

[Fractal] | [Noise] | [Noise]
blur_5 |

  -blur 0x5

[Fractal] | [Noise] | [Noise]
blur_10 |

  -blur 0x10

[Fractal] | [Noise] | [Noise]
intensity |

  -blur 0x10  -colorspace Gray

[Fractal] | [Noise] | [Noise]
channel |

  -blur 0x10  -fx G

[Fractal] | [Noise] | [Noise]
hues |

  -blur 0x10 -auto-level -separate -background white \
     -compose ModulusAdd -flatten -channel R -combine +channel \
     -set colorspace HSB -colorspace RGB

[Fractal] | [Noise] | [Noise]
Transformaciones de sombreado
shade_raw (sin -auto-level posterior) |

  -shade 120x45

[Fractal] | [Noise] | [Noise]
shade |

  -shade 120x45

[Fractal] | [Noise] | [Noise]
shade_dimmed (sin -auto-level posterior) |

  -shade 120x45 -auto-level -fill grey -colorize 40%

[Fractal] | [Noise] | [Noise]
shade_1 |

  -blur 0x1 -shade 120x45

[Fractal] | [Noise] | [Noise]
shade_2 |

  -blur 0x2 -shade 120x45

[Fractal] | [Noise] | [Noise]
shade_5 |

  -blur 0x5 -shade 120x45

[Fractal] | [Noise] | [Noise]
shade_10 |

  -blur 0x10 -fx G -shade 120x45

[Fractal] | [Noise] | [Noise]
Transformaciones de relieve
emboss_1 |

  -blur 0x5  -emboss 1

[Fractal] | [Noise] | [Noise]
emboss_1g |

  -blur 0x5  -emboss 1  -fx G

[Fractal] | [Noise] | [Noise]
emboss_0s |

  -blur 0x3  -emboss .5 -shade 120x45

[Fractal] | [Noise] | [Noise]
emboss_1s |

  -blur 0x5  -emboss 1  -shade 120x45

[Fractal] | [Noise] | [Noise]
emboss_1gs |

  -blur 0x5  -emboss 1  -fx G  -shade 120x45

[Fractal] | [Noise] | [Noise]
emboss_5gs |

  -blur 0x10 -emboss 5  -fx G  -shade 120x45

[Fractal] | [Noise] | [Noise]
Transformaciones de bordes
charcoal |

  -blur 0x2  -charcoal 10 -negate

[Fractal] | [Noise] | [Noise]
charcoal_10s |

  -blur 0x2  -charcoal 10 -negate -shade 120x45

[Fractal] | [Noise] | [Noise]
charcoal_1s |

  -blur 0x2  -charcoal 1  -negate -shade 120x45

[Fractal] | [Noise] | [Noise]
edges |

  -blur 0x2  -edge 10

[Fractal] | [Noise] | [Noise]
edge_grey |

  -blur 0x2  -edge 10 -fx G

[Fractal] | [Noise] | [Noise]
mesas |

  -blur 0x2  -edge 10 -fx G -shade 120x45

[Fractal] | [Noise] | [Noise]
Transformaciones que generan líneas
lines |

  -blur 0x10 -emboss 4 -edge 1

[Fractal] | [Noise] | [Noise]
loops |

  -blur 0x10 -edge 15  -edge 1  -blur 0x1

[Fractal] | [Noise] | [Noise]
engrave_loops |

  -blur 0x10 -edge 15  -edge 1  -blur 0x1 -fx R+B+G -shade 280x45

[Fractal] | [Noise] | [Noise]
engrave_loop |

  -blur 0x10 -edge 15  -edge 1  -blur 0x1 -fx G -shade 280x45

[Fractal] | [Noise] | [Noise]
color_contours |

  -blur 0x10 -normalize -fx 'sin(u*4*pi)*100' -edge 1 -blur 0x1

[Fractal] | [Noise] | [Noise]
contours |

  -blur 0x10 -normalize -fx 'sin(g*4*pi)*100' \
     -edge 1 -blur 0x1 -shade 280x45

[Fractal] | [Noise] | [Noise]
Transformaciones de manchas con textura compleja
(usando un curioso efecto '-edge 1')
blobs |

  -blur 0x10 -edge 1

[Fractal] | [Noise] | [Noise]
blobs_grey |

  -blur 0x10 -edge 1 -fx '(R+G+B)/3'

[Fractal] | [Noise] | [Noise]
pits |

  -blur 0x10 -edge 1 -fx G -shade 280x45

[Fractal] | [Noise] | [Noise]
ridges |

  -blur 0x10 \( +clone -negate \) -edge 1 -fx u.G+v.G -shade 280x45

[Fractal] | [Noise] | [Noise]
mottled |

  -blur 0x10 -write mpr:save -negate -edge 1 -negate -fx G \
     \( mpr:save -edge 1 -fx G \) -shade 280x45 -evaluate-sequence mean

[Fractal] | [Noise] | [Noise]
Transformaciones de pintura
paint_raw10 (sin -auto-level posterior) |

  -paint 10

[Fractal] | [Noise] | [Noise]
paint_areas |

  -paint 10  -blur 0x5  -paint 10

[Fractal] | [Noise] | [Noise]
paint_raw10s |

  -paint 10  -shade 120x45

[Fractal] | [Noise] | [Noise]
paint_8 |

  -blur 0x5  -paint 8

[Fractal] | [Noise] | [Noise]
paint_8s |

  -blur 0x5  -paint 8  -shade 120x45

[Fractal] | [Noise] | [Noise]
paint_3 |

  -blur 0x10 -paint 3

[Fractal] | [Noise] | [Noise]
paint_3s |

  -blur 0x10 -paint 3  -shade 120x45

[Fractal] | [Noise] | [Noise]
paint_3d |

  -blur 0x10 -paint 3 \( +clone -shade 120x45 \) \
     +swap  -compose overlay -composite

[Fractal] | [Noise] | [Noise]
Transformaciones de degradado
levels (sin -auto-level posterior) |

  -blur 0x12 -fx intensity -normalize \
     -size 1x9 gradient:navy-lavender \
     -interpolate integer -fx 'v.p{0,G*(v.h-1)}'

[Fractal] | [Noise] | [Noise]
levels_3d (sin -auto-level posterior) |

  -blur 0x12 -fx intensity -normalize \
     -size 1x9 gradient:navy-lavender \
     -interpolate integer -fx 'v.p{0,G*(v.h-1)}' \
     \( +clone -shade 120x45 -normalize \) \
     -compose overlay -composite

[Fractal] | [Noise] | [Noise]
zebra |

  -blur 0x12 -normalize \
     -size 1x19   pattern:gray50   -fx 'v.p{0,G*(v.h-1)}'

[Fractal] | [Noise] | [Noise]
midlevel |

  -blur 0x12 -normalize \
     \( -size 1x9 xc: -draw 'color 0,4 point' -negate \) \
     -fx 'v.p{0,G*(v.h-1)}'

[Fractal] | [Noise] | [Noise]
edged_level (sin -auto-level posterior) |

  -blur 0x12 -normalize \
     \( -size 1x9 xc: -draw 'color 0,4 point' \) \
     -fx '(.6+.2*v.p{0,G*(v.h-1)})' \
     \( +clone -normalize -edge 1 \)  -fx 'u+v'

[Fractal] | [Noise] | [Noise]
layered_levels (sin -auto-level posterior) |

  -blur 0x12 -normalize \
     \( -size 1x9 xc: -draw 'color 0,4 point' \) \
     -fx '(.5+.3*v.p{0,u*(v.h-1)})' \
     \( +clone -normalize -edge .3 -fx 'R+G+B' \) \
     -fx 'intensity+v'  -fill skyblue -tint 100

[Fractal] | [Noise] | [Noise]
Varios
filaments |

  -blur 0x5 -normalize -fx g \
     -sigmoidal-contrast 15x50% -solarize 50%

[Fractal] | [Noise] | [Noise]

Si tiene o se le ocurre un buen generador de fondos o una transformación de imagen, hágamelo saber para poder añadirla aquí y compartirla con los demás.

Notas finales importantes

Las dos imágenes de ruido aleatorio, al ser tan «aleatorias», son teselables, y usamos "[-virtual-pixels](https://imagemagick.org/command-line-options/#virtual-pixels)" para garantizar que sigan siéndolo durante la transformación. La imagen de plasma, en cambio, no es teselable de partida, así que se emplea una versión ampliada a la que después se le recortan los bordes con "[-shave](https://imagemagick.org/command-line-options/#shave)" para eliminar el efecto de borde no deseado que producen muchas operaciones. Estas técnicas se explican con más detalle en Modificación de imágenes en mosaico. Tenga en cuenta que el "[-auto_level](https://imagemagick.org/command-line-options/#normalize)" final se aplica a la mayoría de las imágenes para realzar el contraste de los resultados, salvo cuando la transformación está marcada como que no lo requiere, a fin de preservar el color o el sombreado producidos por la transformación. Como muchas transformaciones de imagen, tales como "[-blur](https://imagemagick.org/command-line-options/#blur)", "[-emboss](https://imagemagick.org/command-line-options/#emboss)" y "[-edge](https://imagemagick.org/command-line-options/#edge)", son transformaciones en escala de grises, actúan sobre los tres canales de color de forma completamente independiente entre sí. Como resultado, en muchas de las imágenes el efecto parece el de tres imágenes separadas superpuestas y luego sombreadas. El último ejemplo, "layered_levels", se diseñó para actuar sobre cada uno de los tres niveles de forma simultánea, manteniéndolos separados hasta el paso final, en el que se suman y se tiñen de color. Este triple efecto puede eliminarse aplicando una operación inicial de conversión a escala de grises, o extrayendo solo uno de los canales al terminar. Normalmente yo extraigo el canal 'green' o 'G', ya que suele ser el canal más fuerte en una imagen en escala de grises, aunque puede usarse cualquiera de los tres.