In der GD der PHP-Bildverarbeitungsbibliothek wird die Funktion "ImageAntialias () verwendet, um die Anti-Aliasing-Funktion ein- oder auszuschalten, wodurch die Kanten der gezogenen Linien reibungsloser werden und den visuellen Effekt des Bildes verbessert werden. Viele Entwickler stellen jedoch häufig fest, dass es nicht funktioniert oder der Effekt bei der Verwendung der Funktion nicht offensichtlich ist. In diesem Artikel wird ausführlich festgelegt, wie sichergestellt wird, dass die Funktion "ImageAntialias () ordnungsgemäß funktionieren kann, und Beispielcode kombinieren, um sie zu verstehen und anzuwenden.
Die Signatur der Funktion der ImageAntialias () ist wie folgt:
bool imageantialias ( resource $image , bool $enabled )
$ image ist ein Bildressourcenhandle.
Legen Sie $ ermöglicht , um Anti-Aliasing und falsch auszuschalten.
Diese Funktion gilt nur für bestimmte Zeichenfunktionen , wie z .
Die Anti-Aliasing-Funktion unterstützt nur echte Farbbilder in GD. Wenn Sie ein Palettenbild erstellen ( ImageCreate () ), wird Imagesantialias () möglicherweise nicht wirksam. Es wird empfohlen, ImageCrreatTueColor () zu verwenden, um Bilder zu erstellen.
Beispiel:
$image = imagecreatetruecolor(200, 200);
imageantialias($image, true);
Das Aufrufen von Imagesantialias () muss vor dem Zeichnen ausgeführt werden, sonst funktioniert es nicht. Zum Beispiel:
<?php
$image = imagecreatetruecolor(200, 200);
imageantialias($image, true);
// Hintergrundfarben setzen
$bg = imagecolorallocate($image, 255, 255, 255);
imagefill($image, 0, 0, $bg);
// Zeilenfarbe festlegen
$lineColor = imagecolorallocate($image, 0, 0, 0);
// Zeichnen Sie Anti-Alias-Linien
imageline($image, 10, 10, 190, 190, $lineColor);
header('Content-Type: image/png');
imagepng($image);
imagedestroy($image);
?>
ImageAntialias () funktioniert nicht für alle Zeichenfunktionen. Es wird empfohlen, nur für Teile zu verwenden, die glatte Linien zeichnen müssen. Zum Beispiel:
Zeichnen Sie Polygongrenzen mit ImagePolygon () .
Zeichnen Sie Kurven oder gerade Linien mit Imagine () .
Bei Füllformen oder Text können andere Methoden verwendet werden, um die Qualität zu verbessern, z .
Einige ältere Versionen von GD -Bibliotheken unterstützen nicht bildeantialias () gut und es wird empfohlen, PHP 7.0+ und seine entsprechenden neueren GD -Versionen zu verwenden. Darüber hinaus variieren die Effekte in verschiedenen Betriebssystemumgebungen.
<?php
// Erstellen Sie echte Farbbilder,Anti-Aliasing einschalten
$image = imagecreatetruecolor(300, 150);
imageantialias($image, true);
// Füllen Sie den Hintergrund
$white = imagecolorallocate($image, 255, 255, 255);
imagefill($image, 0, 0, $white);
// Farbe setzen
$black = imagecolorallocate($image, 0, 0, 0);
// Zeichnen Sie glatte Linien und Polygone
imageline($image, 20, 20, 280, 130, $black);
$points = [50, 120, 150, 30, 250, 120];
imagepolygon($image, $points, 3, $black);
// Ausgabebild
header('Content-Type: image/png');
imagepng($image);
imagedestroy($image);
?>
Der obige Beispielcode kann direkt ausgeführt werden und gewährleistet eine normale Anti-Aliasing-Funktion.