sub ErstelleThumbnail { my ($breite_klein,$hoehe_klein); my $jpg_qualitaet = 90; # Bildbreite und Höhe ermitteln my $GrossesBild = GD::Image->new("original.jpg"); my ($breite_gross, $hoehe_gross) = $GrossesBild->getBounds(); my $Seitenverhaeltnis = $breite_gross / $hoehe_gross; # a) Querformat oder Quadrat if ($breite_gross >= $hoehe_gross) { $breite_klein = 150; # maximale Breite im Querformat $hoehe_klein  = $breite_klein / $Seitenverhaeltnis; } # b) Hochformat else { $hoehe_klein  = 150; # maximale Höhe im Hochformat 350px $breite_klein = $hoehe_klein * $Seitenverhaeltnis; } my $KleinesBild = GD::Image->new($breite_klein,$hoehe_klein); $KleinesBild->copyResized($GrossesBild,0,0,0,0,$breite_klein,$hoehe_klein,$breite_gross,$hoehe_gross); # my $KleinesBild = GD::Image->new($breite_klein,$hoehe_klein); # $KleinesBild->copyResampled($GrossesBild,0,0,0,0,$breite_klein,$hoehe_klein,$breite_gross,$hoehe_gross); my $KleinesBildDatei = $KleinesBild->jpeg($jpg_qualitaet); open (OUTFILE, ">kopie.jpg") || die; binmode OUTFILE; print OUTFILE $KleinesBildDatei; close(OUTFILE) || die; return ($breite_klein,$hoehe_klein,$breite_gross,$hoehe_gross); }