Supportnet / Forum / Skripte(PHP,ASP,Perl...)
Imagefunktionen PHP
Frage
Hi,
ich verkleinere eine Grafik mit folgendem Codesniplet:
[code]
function bild_resize($altes_bild, $neues_bild, $stufe, $quali) {
$im1 = imageCreateFromJPEG($altes_bild);
$bb = imageSX($im1);
$hh = imageSY($im1);
$im2 = ImageCreateTrueColor(400, 300 );
imagecopyresized($im2, $im1, 0, 0, 0, 0, 400,300, $bb, $hh);
imagejpeg ($im2, $neues_bild, $quali);
imageDestroy($im1);
imageDestroy($im2);
}[/code]
Jetzt habe ich aber das Problem, das die Ausgangsgrafik immer die gleiche Relation haben muß, wie die fertige Grafik.
Es wäre aber besser die Höhe des Bildes ausgehend vom Originalbild zu berechnen, damit es nicht verschoben wird.
Wer hat einen Lösungsansatz?
Danke
Nessus
Antwort 1 von Nessus
Ist erledigt, war eigentlich recht einfach:
function bild_resize($altes_bild, $neues_bild, $stufe, $quali)
{
$bildbreite =400;
$im1 = imageCreateFromJPEG($altes_bild);
$bb = imageSX($im1);
$hh = imageSY($im1);
$nn=$bb/$bildbreite;
$tt=$hh/$nn;
$im2 = ImageCreateTrueColor($bildbreite, $tt);
imagecopyresized($im2, $im1, 0, 0, 0, 0, $bildbreite,$tt, $bb, $hh);
imagejpeg ($im2, $neues_bild, $quali);
imageDestroy($im1);
imageDestroy($im2);
}
Nessus
function bild_resize($altes_bild, $neues_bild, $stufe, $quali)
{
$bildbreite =400;
$im1 = imageCreateFromJPEG($altes_bild);
$bb = imageSX($im1);
$hh = imageSY($im1);
$nn=$bb/$bildbreite;
$tt=$hh/$nn;
$im2 = ImageCreateTrueColor($bildbreite, $tt);
imagecopyresized($im2, $im1, 0, 0, 0, 0, $bildbreite,$tt, $bb, $hh);
imagejpeg ($im2, $neues_bild, $quali);
imageDestroy($im1);
imageDestroy($im2);
}
Nessus

