In PHP ist die ImageFlip () -Funktion ein nützliches Werkzeug zum Umdrehen eines Bildes. Es kann das Bild horizontal, vertikal oder beides umdrehen, was für Bildverarbeitungsaufgaben wie das Erstellen von Spiegeleffekten, Bildkorrektur usw. sehr hilfreich ist. In diesem Artikel wird seine spezifischen Auswirkungen anhand von Beispielen und Abbildungen aufgezeigt.
ImageFlip () ist Teil der PHP -GD -Bibliothek und wird zum Umdrehen eines Bildes verwendet. Der Funktionsprototyp lautet wie folgt:
bool imageflip(GdImage $image, int $mode)
Wenn $ Image die Zielbildressource ist, ist $ modus der umgedrehte Modus, und die unterstützten Konstanten sind wie folgt:
IMG_FLIP_HORIZONTAL : Horizontaler Flip (von links nach rechts)
IMG_FLIP_VERTICAL : vertikal flip (von oben nach unten)
Img_flip_both : horizontal und vertikal gleichzeitig flip
Hier finden Sie ein einfaches Beispiel dafür, wie Sie ein Bild erstellen, umdrehen und sehen, wie sich das Pixel vor und nach dem Flip ändert:
<?php
// Erstellen Sie eine einfache Bildressource (3x3Pixel)
$image = imagecreatetruecolor(3, 3);
// Füllen Sie die Farbe bequem zu unterscheiden
$colors = [
imagecolorallocate($image, 255, 0, 0), // Rot
imagecolorallocate($image, 0, 255, 0), // Grün
imagecolorallocate($image, 0, 0, 255), // Blau
];
// 设置Pixel点(Kann als zweidimensionale Matrix angesehen werden)
imagesetpixel($image, 0, 0, $colors[0]); // Oben links
imagesetpixel($image, 2, 0, $colors[1]); // Oben rechts
imagesetpixel($image, 1, 2, $colors[2]); // Mitte und niedriger
// 输出翻转前的Pixel颜色(Zum Debuggen)
function printPixelColors($img) {
for ($y = 0; $y < imagesy($img); $y++) {
for ($x = 0; $x < imagesx($img); $x++) {
$rgb = imagecolorat($img, $x, $y);
$colors = imagecolorsforindex($img, $rgb);
echo "($x,$y): R={$colors['red']} G={$colors['green']} B={$colors['blue']}\n";
}
}
echo "----\n";
}
echo "翻转前Pixel:\n";
printPixelColors($image);
// Horizontale Flip durchführen
imageflip($image, IMG_FLIP_HORIZONTAL);
echo "水平翻转后Pixel:\n";
printPixelColors($image);
// Ausgabe gedrehtes Bild zur Datei
imagepng($image, 'https://m66.net/output/flipped_image.png');
imagedestroy($image);
?>
Unter der Annahme, dass die obere linke Ecke des Originalbildes ein rotes Pixel (0,0) und die obere rechte Ecke ein grünes Pixel (2,0) ist, passt sie nach horizontaler Umdrehung die Position an, dh rot wird rot zu (2,0) und grün wird (0,0) . Die blaue Farbe (1,2) unterhalb der Mitte wird auch zu einer symmetrischen Position (1,2) (die vertikale Position bleibt beim horizontalen Umdrehen unverändert, sodass die Position unverändert bleibt).
Visuelles Verständnis besteht darin, das gesamte Bild vor einem Spiegel in Einklang zu bringen.
Bildspiegelungseffekt : Kann zur Vorschau von Bildern beim Aufnehmen von Bildern verwendet werden
Bildkorrektur : Einige Bildaufnahmegeräte speichern Bilder invertiert und können durch ImageFlip () korrigiert werden.
Augmentation der Bilddaten : Durchgeflippte Bilder können die Datenvielfalt erhöhen, wenn maschinelle Lernmodelle trainieren
PHPs ImageFlip () erfordert die Unterstützung der GD-Bibliothek (PHP 5.5.0+ ist integriert)
Der Flip -Betrieb modifiziert direkt die Originalbildressource und gibt keine neue Ressource zurück.