geladenes Bild zentrieren
am 11.08.2007 04:39:15 von joerg.nieswandHalli Hallo,
ich habe eine Routine geschrieben, die ein Bild vergrößert. Ist die
Breite geringer als die Höhe, wird das Bild auf eine Höhe von 288 Pixel
und die entsprechende Breite resampled. Soweit so gut. Nun möchte ich
aber, das in diesem Fall das Bild auch zentriert auf dem mittels
"imagecreatetruecolor" erstellten Bereich ausgegeben wird. Aber leider
wird das Bild linksbündig ausgegeben. Ich habe keinen passenden Befehl
gefunden. Könnt ihr mir weiterhelfen? Vielen Dank ...
$bild="test.jpg";
$image = getimagesize($bild);
$breite_alt = $image[0];
$hoehe_alt = $image[1];
if ($hoehe_alt>$breite_alt)
{
$hoehe_neu=288;
$breite_neu=(288/$hoehe_alt)*$breite_alt;
}
if ($hoehe_alt<$breite_alt)
{
$breite_neu=384;
$hoehe_neu=(384/$breite_alt)*$hoehe_alt;
}
$im1 = imagecreatetruecolor(384, 288);
$hintergrund = imagecolorallocate($im1, 198, 226, 255);
imagefill($im1, 0, 0, $hintergrund);
$im2 = imagecreatefromjpeg($bild);
imagecopyresampled($im1, $im2, 0, 0, 0, 0, $breite_neu, $hoehe_neu,
$breite_alt, $hoehe_alt);
imagejpeg($im1,"text.jpg",90);
imagedestroy($im1);
imagedestroy($im2);