Aktueller Standort: Startseite> Neueste Artikel> Wissen Sie, welchen Einfluss die Funktion der Bildung () () ein- und ausschalten wird? Schauen wir uns das Vergleichsbild an, um es zu zeigen!

Wissen Sie, welchen Einfluss die Funktion der Bildung () () ein- und ausschalten wird? Schauen wir uns das Vergleichsbild an, um es zu zeigen!

M66 2025-06-05

Bei der Verwendung von PHP für die Bildverarbeitung ist ImageAntialias () eine Funktion, die leicht übersehen kann. Es hat jedoch einen erheblichen Einfluss auf die Bildqualität, insbesondere die Darstellung von Linien und glatten Kanten. Also, was genau macht diese Funktion? Was ist der Unterschied zwischen dem Ein- und Ausschalten? Lassen Sie uns anhand von Beispielen und Vergleichsdiagrammen herausfinden.

Was ist Imagesantialias ()

ImageAntialias () ist eine Funktion, die in der PHP-GD-Bibliothek verwendet wird, um die Anti-Aliasing-Funktion festzulegen. Die Rolle des Anti-Aliasing besteht darin, die Kanten zu glätten, Linien, Kurven und Diagonalen natürlicher zu machen und das Gefühl des Zaggens zu verringern.

Die Syntax ist wie folgt:

 bool imageantialias(GdImage $image, bool $enable): bool
  • $ image ist die Zielbildressource;

  • Wenn $ enable wahr ist, wird Anti-Aliasing eingeschaltet, wenn es falsch ist , wird es ausgeschaltet.

Tatsächlicher Vergleichseffekt

Im Folgenden generieren wir zwei identische Bilder über einen Beispielcode, außer dass einer Antialiasing aktiviert und der andere keine.

Beispielcode: Schalten Sie die Anti-Aliasing aus

 <?php
$img = imagecreatetruecolor(200, 200);
$white = imagecolorallocate($img, 255, 255, 255);
$black = imagecolorallocate($img, 0, 0, 0);
imagefill($img, 0, 0, $white);

// Es ist kein Anti-Aliasing aktiviert
imageantialias($img, false);
imagearc($img, 100, 100, 150, 150, 0, 360, $black);

imagepng($img, 'circle_no_antialias.png');
imagedestroy($img);
?>

Bildadresse generieren: https://m66.net/images/circle_no_antialiass.png

Beispielcode: Anti-Aliasing aktivieren

 <?php
$img = imagecreatetruecolor(200, 200);
$white = imagecolorallocate($img, 255, 255, 255);
$black = imagecolorallocate($img, 0, 0, 0);
imagefill($img, 0, 0, $white);

// Anti-Aliasing ermöglichen
imageantialias($img, true);
imagearc($img, 100, 100, 150, 150, 0, 360, $black);

imagepng($img, 'circle_antialias.png');
imagedestroy($img);
?>

Bildadresse generieren: https://m66.net/images/circle_antialiass.png

Visueller Effektvergleich

Bitte beachten Sie die Unterschiede zwischen den folgenden zwei Bildern:

Wie aus der Figur ersichtlich ist, sind die Kreise nach dem Einschalten der Anti-Aliasing reibungsloser, während das Bild mit Anti-Aliasing mit gezackten unregelmäßigen Linien an den Rändern ausgeschaltet wird.

Zusammenfassen

Obwohl Imagesantialias () keine erzwungene Funktion ist, kann das Einschalten von Antialiasing die Bildqualität bei der Verarbeitung von Bildern erheblich verbessern, die feine Kanten (z. B. Symbole, Kurven, Textumrechnungen usw.) erfordern. Der einzige Preis ist etwas mehr Verarbeitungszeit, aber dieser Overhead ist in den meisten Anwendungsszenarien akzeptabel.

Wenn Sie sich um die Schönheit des Ausgabebildes kümmern, vergessen Sie nicht , Imagesantialias ($ Image, True) hinzuzufügen. Vor dem Zeichnen kann eine kleine Einstellung Ihren Bildverarbeitungseffekt professioneller aussehen!