bessere thumbnails

bensky

Erfahrenes Mitglied
Hallo Freunde.

ich baue gerade wieder an der seite von unserem jugendheim und versuche thumnails zu erstellen. das wir auf unserem webserver nicht viel platz haben erstelle ich aus großen bildern hat einmal die größe 200x100 und 400x200.

mit dieser funktion
Code:
if($BILD1 != "")
 {
 $size=getimagesize("$updir$BILD_NEWNAME1");  // Bilddaten feststellen
 $breite=$size[0];
 $hoehe =$size[1];
 $altesBild=ImageCreateFromJPEG("$updir$BILD_NEWNAME1");
 $neuesBild=imagecreatetruecolor($neueBreite,$neueHoehe);
 imagecopyresampled($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
 ImageJPEG($neuesBild,"$PicPathOut"."$BILD_NEWNAME1");
 }

Gibt es noch eine besser funktion in php um bilder noch kleiner(kb) zu machen bei gleicher qualität oder ist das schon die beste funktion?

Ich lade die originalbilder erst hoch, dann mach ich 2 thumnails und dann lösche ich die bilder wieder mit unlink. ist das dumm und gibts da was besseres.

Schon mal vielen dank für eure tollen Antworten.
 
Über den dritten Parameter der imagejpeg()-Funktion lässt sich die Qualität der Grafik bestimmen. Am besten probierst du Werte zu finden, der sowohl eine akzeptable Qualität als auch Dateigröße liefert.
 
Die imagejpeg()-Funktion besitzt drei Parameter, wobei die letzen beiden optional sind. Parameter eins bestimmt die Grafik-Ressource, also den Inhalt der Grafik; Parameter zwei den möglichen Dateinamen, falls die Grafik als Datei gespeichert werden so; Parameter drei beschreibt schließdlich die Qualität der Grafik, wobei Ganzzahlwerte zwischen 0 und 100 erlaubt sind (75 ist der Initialwert).
Wenn du nun also die beste Qualität haben möchtest, müsstest du demzufolge der Funktion „100“ als dritten Parameter übergeben.

Ist das Lesen des PHP-Handbuchs denn so schwer?
 
Ich denke mal, dass Gumbo den Parameter int quality meint, der an der dritten Stelle gesetzt wird.

Zum Beispiel so:
PHP:
$quality = 70;
  imagejpeg($dest, $file_name_dest, $quality)
 
achooo ;) vielen dank ;)

ich dachte es gibt noch eine bessere funktion in php um bilder kleiner zu machen als die ich sie nutze, aber dem schein ja nicht so zu sein....

*freu*
 
Es gibt zwar noch die imagecopsresized()-Funktion, die wie imagecopyresampled()-Funktiona auch einen Bildausschnitt verkleinern/vergrößern kann, ihrem Geschwindigkeitsvorteil steht jedoch ihre schlechtere Qualität gegenüber.

Wenn du also auf Geschwindigkeit setzten möchtest, die Qualität jedch relativ egal ist, ist die imagecopyresized()-Funktion die richtige Wahl. Sonst ist es die imagecopyresampled()-Funktion.
 
Zurück