Aktueller Standort: Startseite> Neueste Artikel> ImageFlip () und Bildpixelpunkte ändern die Analyse

ImageFlip () und Bildpixelpunkte ändern die Analyse

M66 2025-06-01

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 () Funktion Einführung

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

Beispiel: Vergleich der Pixelpunktänderungen

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);
?>

Pixeländerungsbeschreibung

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.

Praktische Anwendungsszenarien

  • 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

Dinge zu beachten

  • 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.