Hallo Zusammen,
Erst wenn man Total verzweifelt ist probiert man die Hilfe von PHP Profis zu erhalten. In dem Sinne: schon mal danke fürs weiterlesen.
Problembeschreibung:
Ich habe eine Funktion erstellt welche auch "Funktioniert". Aber die Qualität der Bilder wird schlecht. (Bild schärfe)
Auf dem Server ist die neuste GDLIB intalliert. Kann mir bitte einer Weiterhelfen?
Viele Dank im Voraus, bin für jeden Tipp dankbar!
(für alle die noch eine funktion dieser art suchen: feel free to use it )
Erst wenn man Total verzweifelt ist probiert man die Hilfe von PHP Profis zu erhalten. In dem Sinne: schon mal danke fürs weiterlesen.
Problembeschreibung:
Ich habe eine Funktion erstellt welche auch "Funktioniert". Aber die Qualität der Bilder wird schlecht. (Bild schärfe)
Auf dem Server ist die neuste GDLIB intalliert. Kann mir bitte einer Weiterhelfen?
Viele Dank im Voraus, bin für jeden Tipp dankbar!
(für alle die noch eine funktion dieser art suchen: feel free to use it )
PHP-Code:
<?php
# Thumbnail eines Bildes erstellen
/*
$source = Wo liegt das zu verkleinerte Bild
$mks = der Aktuelle Ordner wo das Bild liegt
$file = neuer File name für dieses Bild
$fileext = ist es ein gif oder jpg (wird anhand eien andere funktion bestimmt)
$dest = Wo wird das neue (verkleinerte) Bild gespeichert
$img_width = Was ist die neue Breite des Bildes
$img_height = Was ist die neue Höhe des Bildes
$logoadd = 0 = es wird kein wasserzeichen logo gesetzte; 1 = es wird eiens gesetzt
*/
function MakeThumb($source,$mks,$file,$fileext,$img_width,$img_height,$logoadd=0) {
// hier wird der File name definiert
$dest = $mks.$file."-".$img_width.$fileext;
$FormatArr = getimagesize($source);
//Breite des Aktuellen Bild wird in die Variabeln src_width und src_height geschrieben
list($src_width, $src_height) = getimagesize($source);
## Breite des Thumbniles wird berechnet (neue breite)
// Wenn die Breite Grösser oder Gleich ist wie die Höhe
if($src_width >= $src_height):
// Thumb Breite (aus $img_width)
$new_image_width = $img_width;
// Thumb Höhe wird berechnet
$new_image_height = $src_height * $img_width / $src_width;
endif;
## Höhe des Thumbniles wird berechnet (neue höhe)
// Wenn die Breite kleiner ist als die Höhe
if($src_width < $src_height):
// Thumb Höhe (aus img_width)
$new_image_height = $img_width;
// Thumb Breite wird berechnet
$new_image_width = $src_width * $img_height / $src_height;
endif;
## Erzeugt ein neus (leeres) Bild
$new_image = imagecreatetruecolor($new_image_width, $new_image_height);
## Kopiert und Schneidet ein Bild zu
/*
Das Bild aus $image wird in des neue Bild $new_image eingefügt in der X und Y Achse die Position 0.
Neue Breite und Höhe von $image wird angepasst. Ausgabe von $new_image (Be Erfolg)
*/
switch($FormatArr[2]) {
case 1 :
//Das Bild öffnen, ist es vorhanden? (GIF FORMAT)
$image = @imagecreatefromgif($source);
imagecopyresampled($new_image, $image, 0, 0, 0, 0, $new_image_width,$new_image_height, $src_width, $src_height);
if(imagegif($new_image, $dest, 100)): return true; else: return false; endif;
break;
case 2 :
//Das Bild öffnen, ist es vorhanden? (JPG FORMAT)
$image = @imagecreatefromjpeg($source);
imagecopyresampled($new_image, $image, 0, 0, 0, 0, $new_image_width,$new_image_height, $src_width, $src_height);
if(imagejpeg($new_image, $dest, 100)):
// wasserzeichen hinzufügen
if(!empty($logoadd) && $img_width=="590"):
$origimage = $dest;
$logoimage = "daswasserzeichenlogo.png";
$origsize = getimagesize($origimage);
$logosize = getimagesize($logoimage);
$logo_im = imagecreatefrompng($logoimage);
$orig_im = imagecreatefromjpeg($origimage);
imagecopy($orig_im, $logo_im, $origsize[0] - $logosize[0], $origsize[1] - $logosize[1], 0, 0, $logosize[0], $logosize[1]);
imagejpeg($orig_im, $dest, 100);
endif;
return true;
else:
return false; endif;
break;
default : return false; break;
}
}
?>
Kommentar