In PHP wird die fileantialias () -Funktion verwendet, um den Anti-Aliasing-Effekt des Bildes ein- oder auszuschalten, wodurch die gezeichneten Linien glätten und das Erscheinungsbild gezackter Kanten verringert werden können. Diese Funktion ist sehr wichtig für die Verarbeitung komplexer Grafiken oder für die Erstellung hochwertiger Bilder.
Die Funktionsdefinition lautet wie folgt:
bool imageantialias ( resource $image , bool $enabled )
$ Bild : Bildressourcenhandle
$ aktiviert : boolescher Wert, festlegen, ob Anti-Aliasing aktiviert werden soll
Wenn er erfolgreich ist, gibt die Funktion wahr , sonst falsch .
ImageAntialias () ist eine Funktion in der PHP -GD -Bibliothek, wird jedoch nicht von allen Versionen der GD -Bibliothek unterstützt, insbesondere von den folgenden Bedingungen:
GD 2.0.28 und höher erfordert Unterstützung.
Die PHP -Version muss diese Funktion der GD -Bibliothek unterstützen, die normalerweise später in PHP 5.1.0 enthalten ist.
PHP muss beispielsweise GD -Unterstützung beim Kompilieren enthalten:
./configure --with-gd
Obwohl sich imagesantialias () hauptsächlich auf eine Anti-Aliasing-Linie abzielt, hängt die Anti-Aliasing-Wirkung der GD-Bibliothek häufig von der Unterstützung der Freetype-Bibliothek ab, insbesondere beim Zeichnen von Text. Freetyp unterstützt eine bessere Glättung von Schriftarten und Zeilen.
Die GD-Bibliothek muss mindestens PNG- oder Truecolor-Bilder unterstützen, da die Anti-Aliasing-Funktion hauptsächlich auf Truecolor-Bilder (24-Bit-Farben) abzielt.
Sie können den folgenden Code verwenden, um festzustellen:
<?php
if (function_exists('imageantialias')) {
echo "imageantialias() Funktionen verfügbar";
} else {
echo "imageantialias() Funktion nicht verfügbar,möglichGDDie Bibliotheksversion ist zu niedrig oder nicht zusammengestellt und unterstützt";
}
?>
Das folgende Beispiel zeigt, wie das Antialiasing eine Linie zeichnen kann:
<?php
// Erstellen a 200x100 Wahres Farbbild
$image = imagecreatetruecolor(200, 100);
// Setzen Sie weiße Hintergründe
$white = imagecolorallocate($image, 255, 255, 255);
imagefill($image, 0, 0, $white);
// Anti-Aliasing ermöglichen
if (imageantialias($image, true)) {
echo "Anti-Aliasing ist erfolgreich ermöglicht\n";
} else {
echo "Anti-Aliasing-Aktivierung ist fehlgeschlagen\n";
}
// Zeichne einen roten Schrägstrich
$red = imagecolorallocate($image, 255, 0, 0);
imageline($image, 0, 0, 200, 100, $red);
// Ausgabe PNG Bild
header("Content-Type: image/png");
imagepng($image, "http://m66.net/images/output.png");
// Freier Speicher
imagedestroy($image);
?>
Die Funktion von Imagesantialias () hängt von der GD -Version 2.0.28+ ab.
PHP muss beim Kompilieren für den GD -Support aktiviert werden.
Es wird empfohlen, die Freetyp-Bibliothek für ein besseres Anti-Aliasing zu aktivieren.
Anti-Aliasing ist hauptsächlich für Truecolor-Bilder geeignet.
Vor der Verwendung wird empfohlen, Function_Exists () zur Erkennung zu verwenden.
Wenn die Umgebung sie nicht unterstützt, können Sie die PHP- oder GD -Bibliotheksversion aktualisieren oder die relevante Unterstützung für die Verwendung von ImageAntialias () normalerweise neu kompilieren.