Veröffentlicht 26. September 200519 j Hallo zusammen, gibt es in PHP die Möglichkeit GIF, PNG usw. nach JPEG umzuwandeln und Thumbnails zu erzeugen? Frank
26. September 200519 j gibt es in PHP die Möglichkeit GIF, PNG usw. nach JPEG umzuwandeln und Thumbnails zu erzeugen? PHP bietet verschiedene Funktionen aus der GD-Lib um Bilder zu modifzieren / zu erstellen. Mehr dazu findest du in der Doku: http://de.php.net/gd
26. September 200519 j wobei man meines wissens für gif eine ältere gd braucht, da der gif-support aus lizenzgründen rausgenommen wurde.
27. September 200519 j Es gibt auch die Möglichkeit mit ImageMagick zu arbeiten (http://www.imagemagick.org/script/index.php). Dann kannst du einfach mit dem Befehl: system('/usr/local/bin/convert *parameter*'); (http://www.imagemagick.org/script/convert.php) die Bilder nach Belieben konvertieren. Soweit ich weiß, kannst du das als PHP-Extension installieren....
27. September 200519 j Autor Ich kann aber nicht davon ausgehen, dass das auf dem Webserver installiert ist. Frank
27. September 200519 j Ich kann aber nicht davon ausgehen, dass das auf dem Webserver installiert ist.Ist das eine Frage oder eine Feststellung? Du wirst nicht drumrumkommen eine externe Library mit einzubinden, die dir die gewünschten Funktionalitäten bereitstellt. Ob das nun direkt in PHP geschieht oder über den Hack Systemprogramm aufrufen geschieht ist dabei gar nicht mal so wichtig - aber einbinden wirst du es müssen.
27. September 200519 j Autor Das man die GD Library haben muss ist klar. Systemaufrufe kann ich wohl beim Webhoster knicken. Frank
27. September 200519 j So erstelle ich zum Beispiel Thumbnails: // Methode meiner Klasse function createThumb() { $bildData = getimagesize($this->bild); $ret = false; $image = null; $orig = null; // Orginal laden switch($bildData[2]) { case _GIF: $orig = imagecreatefromgif($this->bild); break; case _JPEG: $orig = imagecreatefromjpeg($this->bild); break; case _PNG: $orig = imagecreatefrompng($this->bild); break; default: return false; } $hoehe = $bildData[1]; $breite = $bildData[0]; if ($breite > $hoehe) { // Querformat $xSize = TG_MAX_X; $ySize = intval($hoehe * $xSize / $breite); } else { // Hochformat $ySize = TG_MAX_X; $xSize = intval($breite * $ySize / $hoehe); } // Resize done $image = imagecreatetruecolor($xSize, $ySize); $imageCreated = imagecopyresampled($image, $orig, 0, 0, 0, 0, $xSize, $ySize, $bildData[0], $bildData[1]); if ($orig !== null) imagedestroy($orig); // Thumbnail speichern if ($image !== null && $image != "") { $name = basename($this->bild); $pos = strrpos($name, "."); $name = substr($name, 0, $pos); $this->thumb = $this->thumbDir."/".$name; if (imagetypes() & IMG_JPEG) { $this->thumb .= ".jpg"; $ret = imagejpeg($image, $this->thumb); } else if (imagetypes() & IMG_PNG) { $this->thumb .= ".png"; $ret = imagepng($image, $this->thumb); } else if (imagetypes() & IMG_PNG) { $this->thumb .= ".gif"; $ret = imagejpeg($image, $this->thumb); } if ($image != null) imagedestroy($image); } return $ret; } [/PHP]
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.