ich habe diesen Code für die Herstellung proportional Miniaturbild:Bildqualität während Thumbnail machen
function CroppedThumbnail($imgSrc,$thumbnail_width,$thumbnail_height) { //$imgSrc is a FILE - Returns an image resource.
//getting the image dimensions
list($width_orig, $height_orig) = getimagesize($imgSrc);
if (strtolower(substr($imgSrc, -3)) == "jpg") {
$myImage = imagecreatefromjpeg($imgSrc);
} else if (strtolower(substr($imgSrc, -3)) == "jpeg") {
$myImage = imagecreatefromjpeg($imgSrc);
} else if (strtolower(substr($imgSrc, -3)) == "png") {
$myImage = imagecreatefrompng($imgSrc);
} else if (strtolower(substr($imgSrc, -3)) == "gif") {
$myImage = imagecreatefromgif($imgSrc);
}
$ratio_orig = $width_orig/$height_orig;
if ($thumbnail_width/$thumbnail_height > $ratio_orig) {
$new_height = $thumbnail_width/$ratio_orig;
$new_width = $thumbnail_width;
} else {
$new_width = $thumbnail_height*$ratio_orig;
$new_height = $thumbnail_height;
}
$x_mid = $new_width/2; //horizontal middle
$y_mid = $new_height/2; //vertical middle
$process = imagecreatetruecolor(round($new_width), round($new_height));
imagecopyresampled($process, $myImage, 0, 0, 0, 0, $new_width, $new_height, $width_orig, $height_orig);
$thumb = imagecreatetruecolor($thumbnail_width, $thumbnail_height);
imagecopyresampled($thumb, $process, 0, 0, ($x_mid-($thumbnail_width/2)), ($y_mid-($thumbnail_height/2)), $thumbnail_width, $thumbnail_height, $thumbnail_width, $thumbnail_height);
imagedestroy($process);
imagedestroy($myImage);
return $thumb;
}
funktioniert gut
aber die Qualität des Bildes ist ein wenig niedrig
was sollte ich für die Erhöhung der erzeugten Bildqualität tun
Ich bin mir nicht sicher, was "ein bisschen tief" bedeutet, aber auf einer anderen Notiz könnten Sie den Fehler hier beheben: 'else if (strtolower (substr ($ imgSrc, -3)) ==" jpeg ")' – Jon
substr ($ imgSrc, -4)? –