In PHP ist die Verarbeitung von Bildern sehr häufig, insbesondere in einigen Webanwendungen, die eine Bildverarbeitung erfordern. PHP bietet eine leistungsstarke Bildverarbeitungsbibliothek - die GD -Bibliothek, die viele Funktionen zum Manipulieren von Bildern enthält, einschließlich Rotation, Anbaus, Flipping usw. In diesem Artikel werden die beiden Funktionen von ImageFlip und ImagecreateFromstring geschickt kombiniert, um die Operation und Verarbeitung von Bildern zu implementieren.
Zunächst müssen wir die grundlegenden Verwendungen dieser beiden Funktionen verstehen.
ImagecreateFromString : Diese Funktion kann eine Bildressource aus einer Zeichenfolge erstellen. Wenn wir Bilddaten aus einer Datenbank oder Datei hochladen, ist normalerweise der Bildinhalt in Form einer binären Zeichenfolge vorhanden. Diese Funktion ermöglicht es uns, diese Zeichenfolgen für weitere Vorgänge in Bildressourcen umzuwandeln.
ImageFlip : Diese Funktion wird verwendet, um das Bild umzudrehen. Wir können verschiedene Flip -Typen angeben, wie z. B. horizontaler Flip oder vertikaler Flip. Diese Funktion ist sehr nützlich für einige dynamische Bildverarbeitungsaufgaben, z. B. die Anwendung eines spezifischen Flip -Effekts bei der Verarbeitung von Bildern, die von Benutzern hochgeladen wurden.
Zunächst laden wir das Bild über ImagecreateFromString . Angenommen, der Benutzer hat ein Bild hochgeladen oder wir haben den Bildinhalt aus der Datenbank erhalten. Zu diesem Zeitpunkt können wir die Bilddaten durch diese Funktion in eine Bildressource laden.
$imageData = file_get_contents('https://gitbox.net/images/sample.jpg'); // Holen Sie sich Binärbilddaten
$image = imagecreatefromstring($imageData); // Umwandeln Sie Binärdaten in Bildressourcen
if (!$image) {
die('Das Laden der Bild ist fehlgeschlagen');
}
Im obigen Code verwenden wir die Funktion "File_Get_Contents" , um die Bilanzdaten im Bild von der angegebenen URL zu erhalten, und konvertieren sie dann über ImaginecreateFromString in die Bildressource von PHP. Wenn die Last fehlschlägt, beenden wir das Programm über die Diefunktion und geben eine Eingabeaufforderung an.
Verwenden Sie als Nächstes die ImageFlip -Funktion, um das Bild zu drehen. Die ImageFlip -Funktion hat drei Flip -Optionen:
Img_flip_horizontal : horizontaler Flip
IMG_FLIP_VERTICAL : vertikaler Flip
Img_flip_both : horizontale und vertikale Flips gleichzeitig durchführen
Der folgende Code zeigt, wie ein Bild horizontal umdreht:
if (imageflip($image, IMG_FLIP_HORIZONTAL)) {
echo 'Image Horizontal Flip erfolgreich';
} else {
echo 'Das Bildhorizontalflip ist fehlgeschlagen';
}
Dieser Code prüft, ob das Bild erfolgreich umgedreht wird. Wenn er erfolgreich ist, geben wir die entsprechende Nachricht aus.
Nach dem Verarbeitung des Bildes können wir das Ergebnis direkt in den Browser ausgeben oder es im Dateisystem speichern. Hier ist ein Codebeispiel, um ein Bild an den Browser auszugeben:
header('Content-Type: image/jpeg'); // Stellen Sie den Ausgangsbildtyp ein
imagejpeg($image); // Ausgabebild
imagedestroy($image); // Zerstöre Bildressourcen
Stellen Sie den Antwortheader durch den Header ein, um den Browser mitzuteilen, dass der zurückgegebene Inhalt ein JPEG -Bild ist, und verwenden Sie dann ImageJpeg , um das Bild auszugeben.
Zusätzlich zur Ausgabe von Bildern in den Browser können wir die verarbeiteten Bilder im Dateisystem des Servers speichern:
if (imagejpeg($image, 'path/to/save/image.jpg')) {
echo 'Bild erfolgreich speichern';
} else {
echo 'Bildsparen fehlgeschlagen';
}
Wenn Sie die obigen Schritte kombinieren, finden Sie hier ein vollständiges PHP -Skript, das zeigt, wie man ImagecreateFromString und ImageFlip zum Lesen von Bildern und Flips kombiniert:
<?php
$imageData = file_get_contents('https://gitbox.net/images/sample.jpg'); // Holen Sie sich Binärbilddaten
$image = imagecreatefromstring($imageData); // Umwandeln Sie Binärdaten in Bildressourcen
if (!$image) {
die('Das Laden der Bild ist fehlgeschlagen');
}
// Das Bild horizontal umdrehen
if (imageflip($image, IMG_FLIP_HORIZONTAL)) {
echo 'Image Horizontal Flip erfolgreich';
} else {
echo 'Das Bildhorizontalflip ist fehlgeschlagen';
}
// Ausgabebild
header('Content-Type: image/jpeg'); // Stellen Sie den Ausgangsbildtyp ein
imagejpeg($image); // Ausgabebild
// Zerstöre Bildressourcen
imagedestroy($image);
?>
Durch die Kombination von ImagecreateFromString- und ImageFlip -Funktionen können wir Bilder sehr flexibel verarbeiten, insbesondere wenn wir das Bild aus einer Zeichenfolge laden und es umdrehen müssen. Diese Technik ist sehr nützlich in Szenarien wie Bildverarbeitung, Bildbearbeitung von Benutzern usw. Durch die Verwendung dieser Funktionen können wir dynamische Operationen auf Bildern problemlos implementieren.