Bei der Verarbeitung von Bildern in PHP werden GD -Bibliotheken häufig zur Ausführung verschiedener Bildvorgänge verwendet. Die Funktion von Imagesantialias () ist ein Werkzeug, das von der GD-Bibliothek bereitgestellt wird, um eine Anti-Aliasing-Wirkung zu ermöglichen. Anti-Aliasing kann die Linien und Formenkanten im Bild glätten, wodurch gezackte visuelle Effekte vermieden werden und so die Bildqualität verbessert werden. Wird sich die Größe des Bildes nach der ImageAntialias () ändern?
Die Funktion der Bildung () wird wie folgt definiert:
bool imageantialias ( resource $image , bool $enabled )
$ image ist der Bildressourcenhandle
Anti-Aliasing ist aktiviert, wenn $ aktiviert ist , und ist geschlossen, wenn dies falsch ist
Diese Funktion ist nur zum Zeichnen von Funktionen (z. B. Imagine () , ImagePolygon () usw.) wirksam, die die Kanten der gezogenen Linien weicher machen können.
Einfache Antwort: Nein.
Das Aktivieren von Imagesantialias () beeinflusst nur die Pixelschattierungsmethode, wenn das Bild gezeichnet wird, verbessert die Kantenglättung, verändert jedoch nicht die Bildgröße. Die Breite und Höhe des Bildes sind immer noch die Pixelwerte, die durch Aufrufen von ImagesX () und imagessy () erhalten wurden.
<?php
// Erstellen a100x100Wahres Farbbild
$image = imagecreatetruecolor(100, 100);
// Anti-Aliasing einschalten
imageantialias($image, true);
// Zeichnen Sie eine diagonale Linie
$color = imagecolorallocate($image, 255, 0, 0);
imageline($image, 10, 10, 90, 90, $color);
echo "Bildbreite:" . imagesx($image) . "\n";
echo "Bildhöhe:" . imagesy($image) . "\n";
// Ausgabebild
header("Content-Type: image/png");
imagepng($image);
imagedestroy($image);
?>
Führen Sie den Code aus und die Bildgröße beträgt immer noch 100x100 Pixel, aber die Kanten der gezogenen roten Linien sind glatter.
Die Bildgröße ändert sich nur, wenn:
Verwenden Sie imageCopyresampled () , imagecopyresampled () und andere Funktionen für die Skalierung
Erstellen Sie die Leinwand neu und passen Sie die Breite und Höhe ein
Beim Laden eines externen Bildes besteht das Bild ursprünglich aus verschiedenen Größen
Anti-Aliasing gehört nicht zur Operationskategorie, um die Bildgröße zu ändern.
Imagesantialias () beeinflusst nur das Rendern von Pixeln, glättet die Kanten
Die Breite und Höhe des Bildes werden nicht geändert
Wenn Sie die Bildgröße ändern möchten, müssen Sie Funktionen wie Skalierung verwenden.
Durch die rationale Verwendung von Anti-Aliasing können die Bildlinien schöner sein und gleichzeitig die Originalbildgröße unverändert halten, was bei der Verarbeitung von Grafiken eine gemeinsame Technik ist.