phpbar.de logo

Mailinglisten-Archive

AW: [php] Thumbnails erstellen...

AW: [php] Thumbnails erstellen...

Andreas Müller php_(at)_phpcenter.de
Thu, 20 Dec 2001 12:34:52 +0100


Hallo zusammen,

> Hi, das hilft mir nicht sehr weiter, denn ich möchte Thumbs mit
> einer Breite
> von 130 Px erstellen....und die Bilder mit der Funktion sehen genauso aus
> wie meine bisherigen Versuche, die Farbanzahl ist extrem
> reduziert. Bei sehr
> kleinen Höhen / Breiten gehts....

Also mal langsam :-)
Wenn ich die Seitenverhältnisse beibehalten will dann kann ich keine feste
Breite oder feste Höhe ansetzen. Diese muss jeweils berechnet werden aus dem
Verhältnis von Breite und Höhe.

$thumx_x=130;
$thumb_y=130;

$fx=$thumb_x/$width;
$fy=$thumb_y/$height;

$f=($fx<$fy)?$fx:$fy;

$thumb_width =round($f*$width);
$thumb_height=round($f*$height);

Die Farbanzahl wird in jedem Fall kleiner: Ein Bild 800x600 kann viel mehr
Farben enthalten als ein Bild 130x130 da es schickt mehr Pixel hat als das
kleine.
Dazu kommt noch als was das Thumb ausgegeben wird. Als Jpeg sollte man hier
gerade keine all zu gringe Qualität wählen (80% finde ich noch okay, 90% ist
besser). PNG halte ich aber für übertrieben für Thumbs.

Besser als "ImageCopyResized" ist die Funktion "ImageCopyResampled". Die
gibt es aber erst sein PHP 4.0.6 und libgd 2.0
Damit erziehlt man noch eine etwas bessere Qualität.

Gruß,
Andreas


php::bar PHP Wiki   -   Listenarchive