Beim Zeichnen von Bildern in PHP müssen wir häufig gerade Linien zeichnen, z. Die standardmäßigen Zeilen haben jedoch möglicherweise gezackte Kanten, die nicht glatt genug aussehen. Zu diesem Zeitpunkt können wir die Funktion von Imagesantialias () verwenden, um Imagine () zu kombinieren, um einen glatteren und natürlicheren Linieneffekt zu erzielen.
bool imageantialias ( GdImage $image , bool $enable )
Diese Funktion ermöglicht oder deaktiviert Anti-Aliasing für das angegebene Bild. Es gilt nur für bestimmte Zeichenfunktionen wie Imagine () , ImagePolygon () usw.
bool imageline ( GdImage $image , int $x1 , int $y1 , int $x2 , int $y2 , int $color )
Diese Funktion zeichnet eine gerade Linie auf dem Bild, von Punkt (x1, y1) bis Punkt (x2, y2). Die Farbe wird durch den Parameter $ $ angegeben.
Wir erstellen zunächst eine echte Farbbild -Leinwand für einen besseren Farbausdruck.
$width = 400;
$height = 300;
$image = imagecreatetruecolor($width, $height);
Sie können den Hintergrund mit einer Farbe füllen, um die gezogenen Linien klarer zu machen.
$white = imagecolorallocate($image, 255, 255, 255);
imagefill($image, 0, 0, $white);
Dies ist der Schlüssel zum Erreichen von glatten Linien.
imageantialias($image, true);
Stellen Sie die Linienfarbe ein und zeichnen Sie die Linie.
$black = imagecolorallocate($image, 0, 0, 0);
imageline($image, 50, 50, 350, 250, $black);
Das erzeugte Bild wird in das PNG -Format ausgegeben und im Browser angezeigt.
header('Content-Type: image/png');
imagepng($image);
imagedestroy($image);
Hier finden Sie ein komplettes Beispiel für den Runnable -PHP -Code, das eine glatte schwarze Linie von der oberen linken Ecke bis zur unteren rechten Ecke zeichnet:
<?php
$width = 400;
$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);
// Stellen Sie die Linienfarbe auf schwarz ein
$black = imagecolorallocate($image, 0, 0, 0);
// Zeichnen eine gerade Linie
imageline($image, 50, 50, 350, 250, $black);
// Ausgabebild
header('Content-Type: image/png');
imagepng($image);
imagedestroy($image);
?>
Sie können den obigen Code als PHP -Datei speichern und über einen Browser darauf zugreifen.
Durch Aktivieren von Imagesantialias () kann die GD-Bibliothek von PHP beim Zeichnen von Linien Anti-Aliasing durchführen, zackige Kanten effektiv reduzieren und das Bild glatter und schöner machen. Diese Funktion ist in Webanwendungen sehr praktisch, die eine hochwertige Grafikausgabe erfordern. In Kombination mit ImageLine () können Sie leicht exquisite grafische Schnittstellenelemente zeichnen.