2006
El anterior post me dio una idea de poner todas mis fotos formando un mosaico, pero algo más original. Así que ni corto ni perezoso cogí el programa
Con un pequeño progrma perl transformé los caracteres en medidas de puntos dentro de una imagen grande que pudiera contener a todas ellas.
Después, con otro pequeño programa que pondré a continuación, y usando la librería Imagemagick, pude generar la imagen final. Tardó 40 minutos y procesó 3,2 GB, lo que ocupan las 2006 imágenes que utilicé. El programa, muy sencillo, es el siguiente:
Y he aquí el resultado:

Tamaño original (1,3MB): aquí (JPG).
Actualización: El programa completo lo podéis descargar aquí, y las instrucciones para utilizarlo:
Genera el fichero
banner
de UNIX y generé el patrón de puntos de "2006". No sé si habéis usado ese programa. A mí me gusta mucho. Se le puede seleccionar el ancho de la bandera. En mi caso, quería que hubiera exactamente 2006 puntos. Al probar con un ancho 81, salían 1999 puntos, por lo que tuve que añadir 7 a la derecha del 6.Con un pequeño progrma perl transformé los caracteres en medidas de puntos dentro de una imagen grande que pudiera contener a todas ellas.
Después, con otro pequeño programa que pondré a continuación, y usando la librería Imagemagick, pude generar la imagen final. Tardó 40 minutos y procesó 3,2 GB, lo que ocupan las 2006 imágenes que utilicé. El programa, muy sencillo, es el siguiente:
#! /usr/bin/perl
use Image::Magick;
$| = 1;
my @points = (
# points (suprimido)
);
$cols = 94;
$rows = 81;
$xstep = 43;
$ystep = 32;
$xsize = $cols * $xstep;
$ysize = $rows * $ystep;
my ($thumbnail);
$thumbnail=Image::Magick->new(size=>"${xsize}x${ysize}",
pointsize=>24,
fill=>'black');
$thumbnail->Read("xc:white");
while (@points)
{
my $x = shift @points;
my $y = shift @points;
my $imagename = shift @ARGV;
push @ARGV, $imagename;
my $imagen = Image::Magick->new();
$imagen->Read($imagename);
$imagen->Resize(width=>$xstep,height=>$ystep);
$thumbnail->Composite(image=>$imagen,x=>$x,y=>$y);
print ".";
}
$thumbnail->Write("2006.jpg");
Y he aquí el resultado:

Tamaño original (1,3MB): aquí (JPG).
Actualización: El programa completo lo podéis descargar aquí, y las instrucciones para utilizarlo:
$ find directorio_de_imágenes -iname \*.jpg | xargs perl composite.pl
Genera el fichero
2006.jpg
.