mineau
Goto Top

Imagecopy zeichnet nur schwarze Bilder

Moin Moin,

momentan schreibe ich ein Skript, welches aus einem Bild, ein neues Bild erzeugen soll.
Also ich habe ein Bild, aus dem ich ein Bereich von 1024 * 768 Pixel in eine neue Datei speichern will.
So sieht der Code momentan aus.
 
<?php
$SourceFile = imagecreatefromjpeg($SourceDir.$file);
                $TargetFile =  imagecreatetruecolor(1024, 768);
                    
                
                if(imagecopy($SourceFile, $TargetFile, 0, 0, 1024, 768, 1024, 768)) {
                    imagejpeg($TargetFile, $TargetFolder.$file, 100);
                }

?>
Ein Bild wird auch erstellt, aber es ist einfach schwarz.
Ich vermute das bei der imagecopy-Funktion die Parameter falsch sind.
Konnte dort aber keinen Fehler finden.

Grüße,
Timo

Content-ID: 139883

Url: https://administrator.de/forum/imagecopy-zeichnet-nur-schwarze-bilder-139883.html

Ausgedruckt am: 20.04.2025 um 17:04 Uhr

dog
dog 05.04.2010 um 21:55:52 Uhr
Goto Top
Und jetzt schauen wir uns mal die Doku an:
bool imagecopy ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h )
Und was du geschrieben hast:
imagecopy($SourceFile, $TargetFile, 0, 0, 1024, 768, 1024, 768)

Na, siehst du den Fehler?
Du kopierst die Stelle 1024-2048,768-1536 aus dem Quellbild.
Das da nichts ist, ist wohl klar face-smile
mineau
mineau 05.04.2010 um 22:26:39 Uhr
Goto Top
Danke für die Antwort, aber leider hilft sie mir nicht weiter.
<code tag="php">
<?php
imagecopy($SourceFile, $TargetFile, 0, 0, 0, 0, 1024, 768);
?>

So hatte ich es auch schon probiert aber auch da blieb das Bild schwarz.
manuel-r
manuel-r 05.04.2010 um 23:04:38 Uhr
Goto Top
Kann es evtl. sein, dass das Quellbild anstatt im RGB- im CMYK-Farbraum abgespeichert wurde? Ich hab mir da nämlich auch mal einen Wolf gesucht; dabei war der Fehler nicht im Code sonder sozusagen im Bild face-wink
Arano
Arano 05.04.2010 um 23:40:36 Uhr
Goto Top
Lies dogs Anwort noch einmal oder das Manual

Und vergleiche __jeden__ Parameter der Funktion, besonders die Positionen der Quell- und Zielressourcen.
Den eigentlich versuchst du einen Bildausschnitt des __Zielbildes__ (das leer ist weil du es eben erst erstellt hast) zu kopieren.

~Arano
mineau
mineau 07.04.2010 um 19:26:26 Uhr
Goto Top
Vielen dank.
Hatte zu sehr den Fehler in den letzten Parametern vermutet.

Jetzt ist nur noch ein Bild komplett schwarz, aber das scheint ein anderer Fehler zu sein.