Net Set/Making Of
Hogyan készül a NetSet?
Kártya farigcsálás
Találtam a neten egy klassz weboldalt, ahol South Park karaktereket lehet hajtogatni. Nosza, innen összeválogattam néhány haj-, száj-, ruha- és fegyverkombinációt:
Ezután pedig írtam egy kis perl scriptet, ami gimp segítségével összekombinálja ezeket 81 darab képpé:
use Gimp qw( :auto ); use Gimp::Fu;
sub MarkLayer {
my ($layer) = @_;
my ($copy);
$copy = gimp_layer_copy($layer, FALSE);
gimp_drawable_set_visible($copy, TRUE);
gimp_image_add_layer($copy, 0);
}
sub NetSetCards {
my ($image) = @_;
my (@layers, $i, $j, $k, $l, $merged);
@layers = gimp_image_get_layers($image);
print TRACE "Image has ", scalar(@layers), "layers\n";
for ($i=0; $i < scalar(@layers); ++$i) {
gimp_drawable_set_visible($layers[$i], FALSE);
}
for ($i=0; $i < 3; ++$i) {
for ($j=0; $j < 3; ++$j) {
for ($k=0; $k < 3; ++$k) {
for ($l=0; $l < 3; ++$l) {
&MarkLayer($layers[12]); # base
&MarkLayer($layers[$l+9]); # body
&MarkLayer($layers[$k+6]); # hair
&MarkLayer($layers[$j+3]); # mouth
&MarkLayer($layers[$i]); # weapon
$merged = gimp_image_merge_visible_layers($image, 1);
gimp_file_save($image, $merged, "/tmp/card$i$j$k$l.png", "/tmp/card$i$j$k$l.png");
gimp_image_remove_layer($image, $merged);
}
}
}
}
gimp_displays_flush();
return undef;
}