Hallo dedlfix,
und hier der neue Code, den ich nun direkt mit Parametern aufrufe:
$Ausgangsgrafik = $_GET["A"];
if (isset ($_GET["B"]))
$Maximale_Breite = $_GET["B"];
if (isset ($_GET["H"]))
$Maximale_Hoehe = $_GET["H"];
$Informationen = getimagesize ($Ausgangsgrafik);
$Urspruengliche_Breite = $Informationen[0];
$Urspruengliche_Hoehe = $Informationen[1];
if ($Maximale_Breite)
$Faktor = $Maximale_Breite / $Urspruengliche_Breite;
else
if ($Maximale_Hoehe)
$Faktor = $Maximale_Hoehe / $Urspruengliche_Hoehe;
$Neue_Breite = round ($Urspruengliche_Breite * $Faktor);
$Neue_Hoehe = round ($Urspruengliche_Hoehe * $Faktor);
$Kopie = imagecreatefrompng ($Ausgangsgrafik);
$Verkleinerte_Kopie = imagecreatetruecolor ($Neue_Breite, $Neue_Hoehe);
$Transparenz = imagecolortransparent ($Kopie);
if ($Transparenz != -1)
{
$Transparente_Farbe = imagecolorsforindex ($Kopie, $Transparenz);
$Transparenz = imagecolorallocate ($Verkleinerte_Kopie, $Transparente_Farbe["red"], $Transparente_Farbe["green"], $Transparente_Farbe["blue"]);
imagefill ($Verkleinerte_Kopie, 0, 0, $Transparenz);
imagecolortransparent ($Verkleinerte_Kopie, $Transparenz);
}
else
{
imagealphablending ($Verkleinerte_Kopie, false);
$Alpha = imagecolorallocatealpha ($Verkleinerte_Kopie, 0, 0, 0, 127);
imagefill ($Verkleinerte_Kopie, 0, 0, $Alpha);
imagesavealpha ($Verkleinerte_Kopie, true);
}
imagecopyresampled ($Verkleinerte_Kopie, $Kopie, 0, 0, 0, 0, $Neue_Breite, $Neue_Hoehe, $Urspruengliche_Breite, $Urspruengliche_Hoehe);
header ("Content-type: IMAGETYPE_PNG");
imagepng ($Verkleinerte_Kopie, null);
Gruß, Enrico