In PHP sind ImagecrreatTueColor () und ImageColorallocatealpha () zwei häufig verwendete Funktionen bei der Verarbeitung von Bildern. Diese beiden Funktionen sind die wichtigsten Tools, die Sie verwenden sollten, wenn Sie durch Transparenz Bildeffekte erstellen müssen.
In diesem Artikel wird ausführlich vorgestellt, wie diese beiden Funktionen verwendet werden, um transparente Bilder zu erstellen und die wichtigsten Schritte und Vorsichtsmaßnahmen zu erläutern.
ImagecrreatTueColor () wird verwendet, um eine echte Farbblankbild -Leinwand zu erstellen. Die von dieser Funktion zurückgegebene Bild-Leinwand kann 24-Bit-Farben (rot, grün und blau) enthalten, wodurch sie für die Verarbeitung hochwertiger Bilder geeignet ist.
$width = 200; // Die Breite des Bildes
$height = 200; // Die Höhe des Bildes
$image = imagecreatetruecolor($width, $height); // Erstellen Sie ein leeres wahres Farbbild
ImageColorallocatealpha () wird verwendet, um eine Farbe mit Transparenz zuzuweisen. Im Gegensatz zum normalen ImageColoralCloclocce () können Sie imageColorallocatealpha () Transparenzwerte für Farben festlegen. Der Wert der Transparenz reicht von 0 bis 127, 0 bedeutet vollständig undurchsichtig und 127 vollständig transparent.
$transColor = imagecolorallocatealpha($image, 255, 255, 255, 50); // Erstellen Sie ein durchscheinendes Weiß
Angenommen , wir möchten ein Bild mit einem transparenten Hintergrund erstellen .
<?php
// 设置Die Breite des Bildes和高度
$width = 200;
$height = 200;
// Erstellen Sie ein echtes Farbbild
$image = imagecreatetruecolor($width, $height);
// Stellen Sie den transparenten Hintergrund des Bildes fest
imagesavealpha($image, true); // Speichern aktivieren alpha Gang
$transColor = imagecolorallocatealpha($image, 255, 255, 255, 127); // Völlig transparent weiß
// Die Hintergrundfarbe ist transparent
imagefill($image, 0, 0, $transColor);
// Zeichnen Sie etwas anderes im Bild(Fügen Sie zum Beispiel ein durchscheinendes Rechteck hinzu)
$rectColor = imagecolorallocatealpha($image, 255, 0, 0, 50); // Durchscheinend rot
imagefilledrectangle($image, 50, 50, 150, 150, $rectColor);
// Ausgabebild
header('Content-Type: image/png');
imagepng($image);
// Freier Speicher
imagedestroy($image);
?>
Erstellen Sie ein Bild : ImageCrreatTueColor () erstellt ein Bild von 200x200 Pixel.
Transparenzunterstützung aktivieren : Imagesavealpha ($ image, true) teilt PHP mit, dass das Bild den Alpha -Kanal unterstützt, dh Transparenzinformationen.
Setzen eines transparenten Hintergrunds : ImageColorallocatealpha () erstellt ein völlig transparentes Weiß, das den Hintergrund des gesamten Bildes füllt.
Zeichnen Sie ein durchscheinendes Rechteck : ImageColorallocatealpha () wird erneut verwendet, um ein durchscheinendes Rot zu erzeugen. Als nächstes zeichnet BildgepeilteRectangle () ein transparentes Rechteck auf das Bild.
Ausgabebild : Schließlich wird das Bild über ImagePng () zum PNG -Format ausgegeben, das natürlich transparente Hintergründe unterstützt.
Bildformat : PNG -Format unterstützt Transparenz. Wenn Sie versuchen, Transparenz in JPEG- oder GIF -Formaten zu verwenden, führt dies zu unerwarteten Ergebnissen.
Farb- und Transparenzwerte : ImageColorallocatealpha () hat Transparenz von 0 (vollständig undurchsichtig) bis 127 (vollständig transparent). Transparenz kann nach Bedarf eingestellt werden.
Leistung : Es sind mehr Computer und Speicher erforderlich, wenn transparente Bilder betrieben werden, insbesondere wenn die Bilder groß sind.
Durch die Verwendung von ImagecrreatetRueColor () und ImageColorallocatealpha () gibt es PHP die Flexibilität, Bilder mit transparenten Effekten zu erstellen. Ob in der Bildverarbeitung, der Bildbearbeitung oder bei Grafikdesign, Transparenz kann uns kreativeren Raum bieten. Ich hoffe, dieser Artikel kann Ihnen helfen, zu verstehen, wie diese beiden Funktionen verwendet werden, und Unterstützung für Ihre zukünftige Image -Verarbeitungsarbeit leisten.