PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   gd png kreieren (https://www.php-resource.de/forum/php-developer-forum/92326-gd-png-kreieren.html)

Onyxagargaryll 04-06-2008 11:29

gd png kreieren
 
Hallo Forum!

Ich habe folgenden Tutorialcode kopiert und ihn auf PNG abgeändert:

PHP-Code:

// Header setzten
header("Content-type: image/png");
// Bilder laden
$imgsrc imagecreatefrompng("1.png"); // Bild 1
$image2 imagecreatefrompng("2.png"); // Bild 2
// Bild Infos
$width imagesx($imgsrc); // Höhe Hauptbild
$height imagesy($imgsrc); // Breite Hauptbild

$x imagesx($image2); // Höhe Bild 2
$y imagesy($image2); // Breite Bild 2

// Bilder erzeugen
$img imagecreate($width$height);
// Bild einfügen
imagecopy($img$imgsrc0000$width$height);

imagecopy($img$image20000$x$y);
// Bild anzeigen
imagepng($img,'test.png');
// Speicher freigeben
imagedestroy($img); 

Er generiert mir aber kein Bild und angezeigt wird nur
Die Grafik "__/imgtest.php" kann nicht angezeigt werden, weil sie Fehler enthält.

Ich bitte um eure Hilfe :)


Danke im Voraus und MfG
Onyx

MelloPie 04-06-2008 11:32

ja dann lass Dir doch mal fehler ausgeben...
einfach die Datei mal ohne dei header zeile aufrufen...

MelloPie 04-06-2008 11:36

achja:
$image2 = imagecreatefrompng("2.gif"); // Bild 2
2.gif ist kein png
das wird Dir auch eine Fehlermeldung aufzeigen....

Onyxagargaryll 04-06-2008 11:38

Hi :)

Das mit dem gif war noch die alte Version, das war mir klar... ist mir blöderweise reingerutscht (habs jetzt geändert).

Aber er zeigt mir jetzt ohne Header kein Fehler an. Die Seite bleibt leer...

Onyxagargaryll 04-06-2008 11:40

Moment jetzt ist was komisches passiert oO

Er hat zwar noch den gleichen Fehler (dass das img nicht angezeigt werden kann), hat aber test.png generiert - aber mit schwarzem Hintergrund, obwohl der vorher transparent war!

..?

MfG


EDIT:
Jetzt hab ich statt imagecreatetruecolor imagecreate genommen (png hat ja soviel ich weiss nix mit truecolor zu tun). Jetzt ist aber nur das eine Bild in test.png vorhanden...

Onyxagargaryll 04-06-2008 12:07

Hat geklappt. Hier der Quellcode:

PHP-Code:

// Header setzten
header("Content-type: image/png");
// Bilder laden
$imgsrc imagecreatefrompng("1.png"); // Bild 1
$image2 imagecreatefrompng("2.png"); // Bild 2
// Bild Infos
$width imagesx($imgsrc); // Höhe Hauptbild
$height imagesy($imgsrc); // Breite Hauptbild

$x imagesx($image2); // Höhe Bild 2
$y imagesy($image2); // Breite Bild 2

// Bilder erzeugen
$img imagecreatetruecolor($width$height);
imagesavealpha($imgtrue);
// Transparente Farbe
$trans_colour imagecolorallocatealpha($img000127);
imagefill($img00$trans_colour);

// Bild einfügen
imagecopy($img$imgsrc0000$width$height);

imagecopy($img$image20000$x$y);
// Bild anzeigen
imagepng($img,'test.png');
// Speicher freigeben
imagedestroy($img); 

Das neue Bild wird zuerst mit transparenter "Farbe" gefüllt.

Danke für eure Antworten :)

MfG
Onyx

prego 04-06-2008 14:11

png kann sehr wohl truecolor... png-8 = 256 Farben, png-24 = truecolor


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:12 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG