ein Banner [perl]

2008-05-24 | 6:54 pm | Kein Kommentar »

Der Banner

Wie wirds gemacht?

#!/usr/bin/perl
use strict;
use GD;
my $s = < <'EOF';
#     # #     # ###  #####  #     # #######  #####
#     # ##    #  #  #     # #     # #       #     #
#     # # #   #  #  #     # #     # #       #
#     # #  #  #  #  #     # #     # #####    #####
#     # #   # #  #  #   # # #     # #             #
#     # #    ##  #  #    #  #     # #       #     #
 #####  #     # ###  #### #  #####  #######  #####
EOF

my @x = split(/n/, $s);

# neues bild erzeugen (breite, hoehe, truecolor = 1)
my $width = 600;
my $height = 80;
my $bild = new GD::Image($width,$height,1);

# farben
my $c000 = $bild->colorAllocate(0,0,0);
my $cbgg = $bild->colorAllocate(255,255,255);

# hintergrund
$bild->filledRectangle(0,0,$width,$height,$cbgg);

my @imgs = glob("img/*gif");
my $xPos = 5;
my $yPos = 5;

foreach(@x)
{
   foreach(split(//, $_))
   {
      if($_ eq " ")
      {
      } else
      {
         my $gif = $imgs[int(rand(@imgs))];
         my $bildle = GD::Image->newFromGif($gif,1);
         $bild->filledRectangle($xPos,$yPos,$xPos+9, $yPos+9, $c000);
         $bild->copyResized($bildle,$xPos,$yPos,0,0,8,8,40,40);
      }
      $xPos += 10;
   }
   $xPos = 5;
   $yPos += 10;
}

# Ausgabe
print "Content-type: image/png\n\n";
print $bild->png;

Links

Sag etwas dazu: