phpbar.de logo

Mailinglisten-Archive

[php] Bildgrößenneuberechnung Teil 2

[php] Bildgrößenneuberechnung Teil 2

Alex idioms at freenet.de
Sam Aug 30 20:16:14 CEST 2003


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