Bei der Verwendung von PHP für die Bildverarbeitung bietet die GD -Bibliothek eine Fülle von Funktionen für das Zeichnen von Operationen. Standardmäßig erscheinen Kanten gezackt, wenn wir ein Diagramm zeichnen, insbesondere beim Zeichnen von Schrägstrichen oder Polygonen. Um einen reibungsloseren grafischen Effekt zu erzielen, kann die Anti-Alias-Funktion mithilfe der Funktion "ImageAntialias () aktiviert werden. In diesem Artikel wird detailliert erläutert, wie die Funktion "ImageAntialias () mit der imageFilledPolygon () -Funktion verwendet wird, um ein glattes Kantenfüllpolygon zu zeichnen.
Imagesantialias (Ressource $ Image, Bool $ aktiviert) : Aktivieren oder deaktivieren Sie die Anti-Aliasing-Funktion bestimmter Bildressourcen.
ImageFilledPolygon (Ressource $ Image, Array $ Punkte, int $ num_points, int $ color) : Zeichnen Sie ein gefülltes Polygon mit der angegebenen Farbe.
Hier finden Sie ein vollständiges Beispiel dafür, wie Sie ein gefülltes Pentagonal-Bild mit Anti-Aliasing-Effekt erstellen und es dem PNG-Format ausgeben.
<?php
// Erstellen Sie eine Leinwand
$width = 300;
$height = 300;
$image = imagecreatetruecolor($width, $height);
// Setzen Sie die Hintergrundfarbe auf Weiß
$white = imagecolorallocate($image, 255, 255, 255);
imagefill($image, 0, 0, $white);
// Anti-Aliasing ermöglichen
imageantialias($image, true);
// Farben zuweisen
$blue = imagecolorallocate($image, 0, 102, 204);
// Punkte, die Pentagone definieren(Oder gegen den Uhrzeigersinn im Uhrzeigersinn oder gegen den Uhrzeigersinn)
$points = [
150, 50, // Scheitel1
250, 120, // Scheitel2
210, 230, // Scheitel3
90, 230, // Scheitel4
50, 120 // Scheitel5
];
// Zeichnen gefüllte Pentagone
imagefilledpolygon($image, $points, 5, $blue);
// Setzen Sie Headerinformationsbild -Ausgabebild
header('Content-Type: image/png');
imagepng($image);
// Zerstöre Bildressourcen
imagedestroy($image);
?>
Speichern Sie den obigen Code als polygon.php und besuchen Sie dann einen Browser wie https://m66.net/polygon.php , um das gezeichnete Smooth Pentagon -Bild anzuzeigen.
Der Anti-Aliasing-Effekt wirkt sich nur aus, wenn das erstellte Bild ein echtes Farbbild ist (erzeugt von ImagecrreatTueColor () ).
Wenn Sie ein von Imagecrate () erstellter Palettenbild verwenden, wird sich Imagesantialias () nicht wirksam.
Die Scheitelpunkte von Polygonen müssen ordnungsgemäß verbunden sein, normalerweise im Uhrzeigersinn oder gegen den Uhrzeigersinn angeordnet, da sonst die Form verwirrt sein kann.
Obwohl Bildendias () das Zagging verringern kann, hat es einen gewissen Einfluss auf die Leistung. Wenn Sie eine große Anzahl komplexer Grafiken zeichnen, müssen Sie Leistung und Wirkung abwägen.
Wenn Sie das Bild als Datei speichern möchten, anstatt es direkt auszugeben, ändern Sie einfach ImagePng ($ Image) in:
imagepng($image, 'smooth_polygon.png');
Zu diesem Zeitpunkt wird das Bild im aktuellen Verzeichnis in der Datei SUFF_POLYGON.PNG gespeichert, auf die Sie beispielsweise https://m66.net/smooth_polygon.png zugreifen können.
Durch die Kombination von ImageAntialias () und imageFilldPolygon () können wir in PHP glattere und schönere Füllpolygongrafiken zeichnen. Diese Technologie eignet sich zum Generieren von Diagrammen, Vektorgrafiken, Logos und anderen Szenen, die Bildglattheit erfordern. Mit Hilfe der GD-Bibliothek ist PHP nicht nur für die Back-End-Verarbeitung geeignet, sondern auch grundlegende Bildzeichnungsaufgaben.