Temporär leeres Bild erzeugen + 2. Bild einfügen

qsrs

Erfahrenes Mitglied
Hallo,

habe lange gesucht und mir auch die Referenz genau durchgelesen. Daraufhin habe ich den ersten Versuch gestartet, folgendes umzusetzen:
Ich möchte ein leeres, weißes Bild mit festgelegter Höhe und Breite erzeugen, und in dieses temporär erzeugte Bild ein zweites Bild einfügen, das in einem Verzeichnis liegt.

Hier mein Versuch:
PHP:
 $im = @imagecreate (150, 100);
$background_color = imagecolorallocate ($im, 255, 255, 255);
$get_image = imagepng ($im);
$show_image = imagecopy ($get_image, "images/gif.jpg", 0, 0, 0, 0, 150, 100);
imagepng ($show_image);
Es wird jedoch nur ein weißes Bild ausgegeben. Wie mache ich es richtig? Danke für Antworten.
 
Ihc denke das liegt daran, dass du mit imagepng() dem ersten
schon das leere Bild ausgibst.
Zudem geht das soweit ich weiss nicht unter Angabe
eines Dateinamens, sondern eines Images, also fehlt dann noch imagecreatefrom...()

Daher würde ich es eher so probieren:

PHP:
$im = @imagecreate (150, 100);
$background_color = imagecolorallocate ($im, 255, 255, 255);
$show_image = imagecopy ($im, imagecreatefromjpeg("images/gif.jpg"), 0, 0, 0, 0, 150, 100);
header("Content-Type: image/png");
imagepng ($show_image);

Wenn es dann nicht geht würde ich noch die Typen angleichen, d.h. mit imagejpeg() arbeiten.
 
Danke für die Antwort. Hat leider nicht funktioniert. Habe versucht es noch einmal umzustellen. Das war mein Versuch, hat aber ebenfalls nicht geklappt:

PHP:
 $im = imagecreate (150, 100);
$im_out = imagecopymerge ($im, "images/gif.jpg", 0, 0, 0, 0, 150, 100, 100);
imagepng ($im_out);
Das müsste doch funktionieren?
 
Ich versteh deinen Ansatz nicht, du erstellst ein weißen bild 150*100 und fügst da ein Bild 150*100 ein ... Warum nimmst du nicht gleich das 150*100 Bild:
PHP:
$im = imagecreatefromjpeg ('images/gif.jpg');
imagepng ($im);
imagedestroy ($im);

p.s.: Der Fehler bei deinem Script: Der (zweite) Parameter von [PHPF]imagecopy[/PHPF]
"int src_im" muss mit PHP erzeugt werden $foo = imagecreatefromjpeg ('images/gif.jpg'); -
was am Ende das ist was ich dir oben gezeigt habe - auf einem Umweg.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück