preload
Feb 10

Der folgende Code erläutert das Vorgehen zum Skalieren einer PNG-Datei mit Alpha-Transparenz bei Verwendung der PHP-Grafikbibliothek GD. Wichtig hierbei ist, dass die Informationen aus dem Alphakanal gespeichert werden müssen (imagesavealpha), das Alphablending hingegen deaktiviert sein muss (imagealphablending).

<?php

// Original-Bild laden und dessen Breite und Höhe bestimmen
$in = imagecreatefrompng(„image.png“);
$iWidthOld = imagesx($in);
$iHeightOld = imagesy($in);

// Breite und Höhe für neues Bild festlegen und Bild erzeugen
$iWidthNew = 320;
$iHeightNew = 240;
$out = imagecreatetruecolor($iWidthNew, $iHeightNew);

// Alphablending (bspw. für grafische Objekte) deaktivieren – wichtig!
imagealphablending($out, false);

// Die Informationen aus dem Alphakanal sollen gespeichert werden
imagesavealpha($out, true);

// Originalbild mit Zielmaße in das neue Bild kopieren
imagecopyresampled($out, $in, 0, 0, 0, 0, $iWidthNew, $iHeightNew, $iWidthOld, $iHeightOld);

// Header ausgeben
header(„Content-Type: image/png“);

// PNG-Datei als Ausgabe erzeugen
imagepng($out);

?>

One Response to “PNG mit Alpha-Transparenz mit PHP skalieren”

  1. Automatische Bildskalierung mit PHP « Blog « Advitum Webdesign Says:

    […] PNG mit Alpha-Transparenz mit PHP skalieren […]

Leave a Reply