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-Key: 139883

Url: https://administrator.de/contentid/139883

Printed on: April 19, 2024 at 02:04 o'clock

Member: dog
dog Apr 05, 2010 at 19:55:52 (UTC)
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
Member: mineau
mineau Apr 05, 2010 at 20:26:39 (UTC)
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.
Member: manuel-r
manuel-r Apr 05, 2010 at 21:04:38 (UTC)
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
Member: Arano
Arano Apr 05, 2010 at 21:40:36 (UTC)
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
Member: mineau
mineau Apr 07, 2010 at 17:26:26 (UTC)
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.