phpbar.de logo

Mailinglisten-Archive

[php] Re: =?iso-8859-1?Q?=5Bphp=5D_Bildgr=F6=DFe_eines_=2Ejpg_=E4ndern?=

[php] Re: =?iso-8859-1?Q?=5Bphp=5D_Bildgr=F6=DFe_eines_=2Ejpg_=E4ndern?=

=?iso-8859-1?Q?Bj=F6rn_Schotte?= bjoern_(at)_baer.main.de
Sat, 17 Jun 2000 13:21:34 +0200


* Kai Seefeldt wrote:
>    imagecopyresized ($orginalbild, $kleinesbild, "0", "0", "0", "0",
>    "50", "50", $size[0], $size[1]);
>    Hat aber leider nicht funktionnoiert.

Stimmt, denn ImageCopyResized() kopiert nur Bildausschnitte,
skaliert aber keine Bilder.

Ich verwende bei http://www.web-cards.de/ (Top5-Postkarten)
ein kleines Script, das bei JPG-Bildern folgendes macht:

$fname = Dateiname des Bilds.

djpeg -pnm $fname | pnmscale -xsize 75 | pnmalias | cjpeg -smooth 25 >/tmp/zufallsname

Diese Befehlszeile wird via exec() ausgeführt. Danach:

Header("Content-type: image/jpeg");
readfile("/tmp/zufallsname");
unlink("/tmp/zufallsname");

(zufallsname ist ein md5-Hash)

djpeg dekomprimiert ein JPG-Bild und wandelt es in das
PNM-Format um, damit ich dann die Tools aus dem NetPBM-
Paket -- pnmscale (Skalierung), pnmalias (Antialiasing) --
verwenden kann, und danach wird mit cjpeg und einem
Glättungsfaktor von 25% aufgerufen, der eine temporäre
Datei erzeugt, die dann ausgegeben und danach gelöscht
wird.

Bei GIF-Bildern verwende ich allerdings tatsächlich die
Funktion ImageCopyResized -- als "Verbesserung" könnte
man hier den Weg beschreiten, das GIF in ein JPG umzuwandeln
und danach oben beschriebene Prozedur zu vollziehen. Für
das Web ist diese Qualität allemal ausreichend.

Die oben genannten Programme sollten bei einer Standard-
Linux-Distribution eigtl. installiert sein.

Es gibt auch noch eine Lösung, die Programme aus dem
ImageMagick-Paket zu verwenden. Entsprechende Lösungen
findest du im Mailinglistenarchiv.

HTH, Björn.
-- 
Nein, PHP ist keine Droge, wie auf bbspot.com/News/2000/6/php_suspend.html
vermutet wird. Überzeugen Sie sich vom Gegenteil und schauen Sie auf
<http://www.php-kongress.de/> vorbei. Jünger dieser "Droge" organisieren
nämlich einen hochkarätigen PHP Kongress.


php::bar PHP Wiki   -   Listenarchive