Hallo zusammen,
<= GD-Lib Kackn00b
ich habe folgendes Problem:
Ich möchte vier verschiedene Bilder (die zufällig aus einer MySQL DB ausgelesen werde; der Teil funktioniert) in eines zusammenpacken und sie mit einem Schriftzug versehen (auch der Teil funktioniert).
Da diese Bilder alle unterschiedlich hoch aber alle gleich breit sind, möchte ich die fehlenden Flächen mit weiss auffüllen.
Zuerst erstelle ich 4 Bilder die alle 200x253 gross sind und fülle sie mit einer weissen HG-Farbe. Dann hole ich mir die 4 zufälligen Bilder und kopiere sie auf die weissen Bilder und versehe sie mit dem Schriftzug. Ab diesem zeitpunkt kommen die schwarzen Flächen. Danach kopiere ich die 4 Bilder in ein 400x506 grosses Bild hinein und gebe es aus.
Durch meine Fehlersuche ist mittlerweile bestimmt eine Menge unnötigen Codes dazugekommen sorry dafür.
Langer Rede gar kein Sinn:
Code-Ausschnitt:
<= GD-Lib Kackn00b
ich habe folgendes Problem:
Ich möchte vier verschiedene Bilder (die zufällig aus einer MySQL DB ausgelesen werde; der Teil funktioniert) in eines zusammenpacken und sie mit einem Schriftzug versehen (auch der Teil funktioniert).
Da diese Bilder alle unterschiedlich hoch aber alle gleich breit sind, möchte ich die fehlenden Flächen mit weiss auffüllen.
Zuerst erstelle ich 4 Bilder die alle 200x253 gross sind und fülle sie mit einer weissen HG-Farbe. Dann hole ich mir die 4 zufälligen Bilder und kopiere sie auf die weissen Bilder und versehe sie mit dem Schriftzug. Ab diesem zeitpunkt kommen die schwarzen Flächen. Danach kopiere ich die 4 Bilder in ein 400x506 grosses Bild hinein und gebe es aus.
Durch meine Fehlersuche ist mittlerweile bestimmt eine Menge unnötigen Codes dazugekommen sorry dafür.
Langer Rede gar kein Sinn:
Code-Ausschnitt:
PHP-Code:
$dest = @imagecreatetruecolor(400, 506);
$bild1 = imagecreatefromjpeg('../../shop/images/product_images/thumbnail_images/'.$image[1].'');
$bild2 = imagecreatefromjpeg('../../shop/images/product_images/thumbnail_images/'.$image[2].'');
$bild3 = imagecreatefromjpeg('../../shop/images/product_images/thumbnail_images/'.$image[3].'');
$bild4 = imagecreatefromjpeg('../../shop/images/product_images/thumbnail_images/'.$image[4].'');
$bild11 = @imagecreatetruecolor(200, 253);
$bild22 = @imagecreatetruecolor(200, 253);
$bild33 = @imagecreatetruecolor(200, 253);
$bild44 = @imagecreatetruecolor(200, 253);
$weiss0 = imagecolorallocate($dest, 250, 250, 250);
$weiss1 = imagecolorallocate($bild11, 250, 250, 250);
$weiss2 = imagecolorallocate($bild22, 250, 250, 250);
$weiss3 = imagecolorallocate($bild33, 250, 250, 250);
$weiss4 = imagecolorallocate($bild44, 250, 250, 250);
imagefill($bild11,0,0,$weiss1);
imagefill($bild22,0,0,$weiss2);
imagefill($bild33,0,0,$weiss3);
imagefill($bild44,0,0,$weiss4);
imagecopy($bild11, $bild1, 0, 0, 0, 0, 200, 253);
imagecopy($bild22, $bild2, 0, 0, 0, 0, 200, 253);
imagecopy($bild33, $bild3, 0, 0, 0, 0, 200, 253);
imagecopy($bild44, $bild4, 0, 0, 0, 0, 200, 253);
//Text einbetten
$fontsize=20;
$fontangle=0;
$font="./pristina.ttf";
$red = ImageColorAllocate ($bild1, 255, 0, 0);
imagettftext($bild11, $fontsize, 55, 10, 253, $red, $font, $text[1]);
imagettftext($bild22, $fontsize, 55, 10, 253, $red, $font, $text[2]);
imagettftext($bild33, $fontsize, 55, 10, 253, $red, $font, $text[3]);
imagettftext($bild44, $fontsize, 55, 10, 253, $red, $font, $text[4]);
// Copy and merge
imagecopy($dest, $bild11, 0, 0, 0, 0, 200, 253);
imagecopy($dest, $bild22, 200, 0, 0, 0, 200, 253);
imagecopy($dest, $bild33, 0, 253, 0, 0, 200, 253);
imagecopy($dest, $bild44, 200, 253, 0, 0, 200, 253);
// Output and free from memory
$bilddatei = '/www/htdocs/w006fd8b/zone-one/yves/myspacepromo/test.jpg';
imagejpeg($dest, $bilddatei, 100);
imagedestroy($dest);
imagedestroy($bild1);
imagedestroy($bild2);
imagedestroy($bild3);
imagedestroy($bild4);
Kommentar