Bild-Dateityp ändern
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
auftreten
befehl
beitrag
bild
bildbearbeitungsprogramm
break
datei
denke mal
extension
fehler
fenster
funktion
image
konvertierung
lade
ordner
source
stehen
target
test
-
Hallo, wenn ich ein JPEG Bild habe, kann ich das dann mit PHP in ein GIF Bild konvertieren?
Ich meine nicht umbenennen, sondern richtig umformen. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Das Bild einfach in Paint ?ffnen und auf speichern unter dr?cken. Dann kannste einfach den Dateityp ausw?hlen
-
Was du brauchst ist also eine PHP-Funktion, die das Konvertieren von Image-Dateien ?bernimmt...
Ich glaube nicht, dass es solche Funktionen gibt, zumindest wei? ich nichts davon. Die einzige M?glichkeit, die mir spontan einfiele, w?re die, per execute-Befehl ein Bildbearbeitungsprogramm laufen zu lassen, welches die Konvertierung ?bernimmt. Es gibt nur zwei Probleme: Das kleinere davon ist das Auffinden eines solchen Konverters, lie?e sich aber wahrscheinlich per Google finden.
Was etwas schwieriger bis unm?glich w?re, ist das Finden eines Anbieters, der diese execute-Befehle erlaubt - Schlie?lich kann man eine Menge kaputt machen mit Executables, die auf dem Servers laufen...
Fazit: Sieht eher schlecht aus
Beitrag ge?ndert am 25.07.2006 18:02 von thopage
edit jacr
zweiter Beitrag:
Letzte M?glichkeit: Das Schreiben und Hochladen eines Java-Applets, das die Konvertierungsarbeit ?bernimmt. Es l?sst sich sicherlich machen, dass der User (ich denke mal, du hast an ein user-system gedacht?) in einem Applet-Fenster sein Bild ausw?hlt und dass dieses Applet die Grafikdatei automatisch umwandelt, bevor es sie an den Server zur?ckschickt.
Aber frag mich bitte nicht, wie man sowas schreibt, so gut kann ich Java nun auch nicht
Beitrag ge?ndert am 31.07.2006 22:29 von jacr -
Hi,
ach Leute, das geht doch ganz einfach mit den Image-Funktionen. php.net ist so eine grosse Referenz, da steht alles. Schaut euch mal http://php.net/manual/de/ref.image.php an, da steht alles was ihr braucht.
Ich hab schnell eine Funktion geschreiben, die den gew?nschten Effekt ausf?hrt (es funktioniert mit den Image-typen jpg bzw. jpeg,gif und png):
// bool convertimage(string source, string to) function convertimage($source,$to) { $extensions = array("jpg","jpeg","gif","png"); if (!in_array(end(explode(".",$source)),$extensions) || !in_array($to,$extensions) || !file_exists($source)) { return false; } $img = imagecreatefromstring(file_get_contents($source)); if (!$img) return false; $to = $to == "jpg" ? "jpeg" : $to; unlink($source); $target = substr($source,0,strrpos($source,".")) . ".$to"; switch ($to) { case "jpg": case "jpeg": imagejpeg($img,$target); break; case "gif": imagegif($img,$target); break; case "png": imagepng($img,$target); break; } return true; } // Bsp: convertimage("test.jpg","gif"); // es entsteht test.gif (test.jpg wird ?berschrieben)
Ich hab den Code nicht ausprobiert, es sollte jedoch funktionieren.
Alles klar?
EDIT: Funktion ausgebessert
mfg,
hr
Beitrag ge?ndert am 26.07.2006 11:01 von heavyraptor -
Ah, danke, und er speichert die Bilder dann auch auf dem Server, oder sendet er sie nur zum Browser
-
Hi,
die Datei wir ?berschrieben. Also wird die Datei auf dem Server geschpeichert.
mfg,
hr -
Ah, danke, aber irgendwie geht das nicht.
-
Hi,
Also: nimm folgenden Code, speichere ihn als test.php irgendwohin und lade ein bild in den gleichen Ordner namens test.jpg.
Wenn du die Datei ausf?hrst, sollte "fertig" im Browser stehen, falls ein Fehler auftritt, w?rde "Fehler ist aufgeteten" da stehen. Wenn "fertig" da steht, hat es funktioniert, also sollte test.gif entstanden sein und test.jpg sollte nicht mehr da sein.
// bool convertimage(string source, string to) function convertimage($source,$to) { $extensions = array("jpg","jpeg","gif","png"); if (!in_array(end(explode(".",$source)),$extensions) || !in_array($to,$extensions) || !file_exists($source)) { return false; } $img = imagecreatefromstring(file_get_contents($source)); if (!$img) return false; $to = $to == "jpg" ? "jpeg" : $to; unlink($source); $target = substr($source,0,strrpos($source,".")) . ".$to"; switch ($to) { case "jpg": case "jpeg": imagejpeg($img,$target); break; case "gif": imagegif($img,$target); break; case "png": imagepng($img,$target); break; } return true; } // Bsp: $res = onvertimage("test.jpg","gif"); // es entsteht test.gif (test.jpg wird ?berschrieben) print $res == true ? 'fertig' : 'Fehler ist aufgeteten';
mfg,
hr -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage