Mailinglisten-Archive |
Hi liebe Liste,
im Juli diesen Jahres wurde dasselbe Problem das ich habe hier schon mal
diskutiert. Thema damals war
"Fragen zum Neuberechnen von Bildgrössen". Es ging um schwarze, 1Pixel dicke
Striche nach dem Herunterrechnen von JPEG´s. Folgende Funktion habe ich
damals hier in der Liste bekommen.
Doch allerdings tritt bei mir das Problem mit den schwarzen Strichen an der
rechten und an der unteren Seite
trotz Umwandlung der Groessenwerte in Ganzzahlen immer noch auf.
Hat jemand eine Idee wie das Problem gelöst werden könnte?
Gruesse Alex
function resize($bild,$max_width,$max_height,$sign,$dir,$sdir,$quality =
100)
{
$id="$dir$bild";
$size = GetImageSize($id);
$width = (int)$size[0];
$height = (int)$size[1];
$x_ratio = $max_width / $width;
$y_ratio = $max_height / $height;
if ($width <= $max_width && $height <= $max_height) {
$tn_width = $width;
$tn_height = $height;
} elseif (($x_ratio * $height) < $max_height) {
$tn_height = (int)ceil($x_ratio * $height);
$tn_width = $max_width;
} else {
$tn_width = (int)ceil($y_ratio * $width);
$tn_height = $max_height;
}
$src = ImageCreateFromJpeg($id);
$dst = ImageCreateTrueColor($tn_width,$tn_height);
ImageCopyResized($dst,$src,0,0,0,0,$tn_width,$tn_height,$width,$height);
$bild_name=explode(".",$bild);
$id1=$sdir.$bild_name[0].$sign.".".$bild_name[1];
ImageJPEG($dst,"$id1",$quality);
$size = GetImageSize ("$id1");
ImageDestroy($src);
ImageDestroy($dst);
}
php::bar PHP Wiki - Listenarchive