0 ) { $srcjpg = @imagecreatefromjpeg ($image); if ( $srcjpg=="" ) continue; // hart raus fuer dies Bild bildgroesse_anpassen($srcjpg); $sizes[0] = imagesx($srcjpg); $sizes[1] = imagesy($srcjpg); $tmpjpg = imagecreatetruecolor($sizes[0]+2*$rahmen, $sizes[1]+2*$rahmen); $rahmenfarbe = imageColorAllocate ($tmpjpg, 254, 254, 254); imagefill ( $tmpjpg, 0, 0, $rahmenfarbe); $dummy = imagecopyresampled ( $tmpjpg, $srcjpg, $rahmen, $rahmen, 0, 0, imagesx($srcjpg), imagesy($srcjpg), imagesx($srcjpg), imagesy($srcjpg) ); imagedestroy($srcjpg); } else { // Bild ohne Rahmen $tmpjpg = @imagecreatefromjpeg ($image); if ( $tmpjpg=="" ) continue; // hart raus fuer dies Bild bildgroesse_anpassen($tmpjpg); } // reinweiss Transparent setzen im Bild $weissj = imageColorAllocate ($tmpjpg, 255, 255, 255); imagecolortransparent($tmpjpg, $weissj); // bis zu 45 Grad drehen nach links oder rechts $angle = mt_rand( 1, 45 ); if ( mt_rand( 1, 2 ) % 2 === 0 ) { // links- oder rechtsdrehend... $angle *= -1; } $rotate = imagerotate($tmpjpg, $angle, -1); // kopiere das aktuelle Bild auf den Hintergrund $dummy = imagecopyresampled ( $canvas, $rotate, mt_rand( $versatzmin, $versatzmax ), mt_rand( $versatzmin, $versatzmax ), 0, 0, imagesx($rotate), imagesy($rotate), imagesx($rotate), imagesy($rotate) ); // Resourcen freigeben imagedestroy($tmpjpg); imagedestroy($rotate); } // end foreach Bild // Bild ausgeben als png header( "Content-Type: image/png" ); echo imagepng($canvas); imagedestroy($canvas); } // end function bilderstapel /* --- Hilfsroutinen ----------------------------------------------------------------------------------------- */ function bildgroesse_anpassen(&$neujpg) { // --- verkleinert das letzte geladene $neujpg (GD2-BildResource) passend falls notwendig ---------- global $bildgroessemax; // vereinbarte Größe $vbg = $bildgroessemax; // Originalbild $jpg_breite = imagesx ($neujpg); $jpg_hoehe = imagesy ($neujpg); // etwas zu tun? if ( max($jpg_breite,$jpg_hoehe)<=$vbg ) { return ; // nein } // Hochformat statt Querformat if ($jpg_hoehe > $jpg_breite ) { $vbg = $jpg_breite * $vbg / $jpg_hoehe; } // Vorschaubild if ( $jpg_breite > $vbg ) { $x = $vbg; $y = $jpg_hoehe * $vbg / $jpg_breite; } else { $x = $jpg_breite; $y = $jpg_hoehe; } $kleinesjpg = imagecreatetruecolor ( $x, $y); $dummy = imagecopyresampled ( $kleinesjpg, $neujpg, 0, 0, 0, 0, $vbg, $y, $jpg_breite, $jpg_hoehe); $neujpg = imagecreatetruecolor ( $x, $y); $dummy = imagecopyresampled ( $neujpg, $kleinesjpg, 0, 0, 0, 0, $x, $y, $x, $y); imagedestroy($kleinesjpg); } // end function bildgroesse_anpassen ?>