imagecopy - supplied argument is not a valid Image resource
Picco
- php
Hallo,
alles was ich möchte ist ein Teil eines Bildes in einen anderen Ordner zu kopieren.
erst dachte ich es könnte so gehen:
$ziel ='./images/thumb/banner.gif';
$von ='./images/banner.gif';
imagecopy($ziel, $von, 0, 0, 0, 0, 100, 40);
Als Freundliche Antwort bekomme ich "imagecopy(): supplied argument is not a valid Image resource"
nun habe ich 4 Fragen:
1. ist das überhaupt die richtige funktion?
2. wie bekomme ich raus ob mein server diese funktion überhaupt unterstützt?
3. kopiert imagecopy nur in ein bereits existierendes Bild oder kopiert es das Gewünschte Teilbild in eine neue Datei die es auch gleich anlegt?
4. welches meiner Argumente ist den Falsch?
Hello,
$ziel ='./images/thumb/banner.gif';
$von ='./images/banner.gif';
imagecopy($ziel, $von, 0, 0, 0, 0, 100, 40);
[/code]Als Freundliche Antwort bekomme ich "imagecopy(): supplied argument is not a valid Image resource"
Die GD-Funktionen funktionieren anders, als Du es Dir vielleicht gedacht hast.
Du musst Dir Speicher besorgen, in dem das Bild dann aus dem jeweiligen Format in ein Pixel-Foramt gewandelt wird. Das machen alle Funktionen, die mit "imagecreate" beginnen.
http://de2.php.net/manual/en/function.imagecreate.php
Wie Du aus dem Handbuch sehen kannst, gibt es da welche, die sofort aus einen File dieses Pixelbild im Speicher erzeugen und ein Handle auf den Speicherbereich zurückgeben. Handle nicht verleiren... ich weiß nicht, ob PHP hier auch schon automatisch den Speicher aufräumt.
Mit diesem Handle kannst Du dann die Bearbeitungsfunktionen bedienen, die Du ja schon ausprobiert hast.
Am Schluss wandelst Du dann den Inhalt des Interimsspeichers wieder in das gewünschte Bildformat um. Dafür gibt es auch wieder eigene Funktionen...
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Grüße,
schade, dass man in php keine funktionen überladen kann ;/
MFG
bleicher
Hello,
schade, dass man in php keine funktionen überladen kann ;/
das ganze PHP ist doch schon so mit Funktionen überladen, dass bald keiner mehr durchsteigt...
*scnr*
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hallo Picco,
- ist das überhaupt die richtige funktion?
Ja.
- wie bekomme ich raus ob mein server diese funktion überhaupt unterstützt?
Das dürfte der Fall sein - sonst hättest du vmtl. die Fehlermeldung bekommen, dass die Funktion imagecopy() nicht definiert ist.
- kopiert imagecopy nur in ein bereits existierendes Bild oder kopiert es das Gewünschte Teilbild in eine neue Datei die es auch gleich anlegt?
Die Funktion kopiert nur den Ausschnit eines bereits existierenden Bildes - was du mit dem Teilbild dann machst (direkt ausgeben oder speichern), ist deine Sache.
- welches meiner Argumente ist den Falsch?
Das erste und zweite, siehe Doku - dort ist auch ein Beispiel zu finden.
Gruß,
Tobias