PHP bietet einige leistungsstarke Bibliotheken für Bildverarbeitungsfunktionen, wie z. B. die GD -Bibliothek, mit der Entwickler Bilder auf der Serverseite verarbeiten können. In diesem Artikel werden wir untersuchen, wie leistungsstärkere Bildverarbeitungseffekte erzielt werden können, indem wir ImageFlip- und Imagebrock -Funktionen kombinieren. Wir werden mehrere Beispiele verwenden, um zu veranschaulichen, wie diese beiden Funktionen für Bildflip- und Bildkopiervorgänge verwendet werden.
Die Bildflip -Funktion wird verwendet, um ein Bild umzudrehen, das das Bild horizontal oder vertikal umdrehen kann. Es akzeptiert zwei Parameter: Der erste Parameter ist die Bildressource und der zweite Parameter ist der Flip -Typ. Gemeinsame Flip -Typen umfassen:
IMG_FLIP_HORIZONTAL : Drehen Sie das Bild horizontal um.
IMG_FLIP_VERTICAL : Drehen Sie das Bild vertikal um.
IMG_FLIP_BOTH : Flip horizontal und vertikal gleichzeitig.
Die ImageCopy -Funktion wird verwendet, um einen Bereich eines Bildes in ein anderes zu kopieren. Seine übliche Verwendung besteht darin, einen Bereich aus einem Bild zu extrahieren und an die Position eines anderen Bildes zu kopieren.
Die grundlegende Syntax der ImageCopy -Funktion lautet wie folgt:
bool imagecopy ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h )
$ dst_image : Zielbildressource.
$ src_image : Quellbildressource.
$ dst_x und $ dst_y : Die Startposition, in der der Kopierbereich im Zielbild platziert ist.
$ src_x und $ src_y : Die Startposition des Kopierbereichs im Quellbild.
$ src_w und $ src_h : Die Breite und Höhe des zu kopierten Bereichs.
Jetzt werden wir diese beiden Funktionen kombinieren, um einige gemeinsame Bildverarbeitungsvorgänge auszuführen, wie z.
Wir laden zuerst ein Bild, drehen es horizontal um und kopieren dann den umgedrehten Teil in ein anderes Bild. Angenommen, wir haben ein Beispiel. JPG -Bild, es ist das Ziel, es horizontal umzudrehen und einen Teil des Bereichs in das neue Bild zu kopieren.
<?php
// Laden Sie das Originalbild
$src_image = imagecreatefromjpeg('https://gitbox.net/images/example.jpg');
// Holen Sie sich die Breite und Höhe des Bildes
$width = imagesx($src_image);
$height = imagesy($src_image);
// Erstellen Sie eine leere Bildressource,Gleiche Größe wie Quellbild
$dst_image = imagecreatetruecolor($width, $height);
// Das Bild horizontal umdrehen
imageflip($src_image, IMG_FLIP_HORIZONTAL);
// Kopieren Sie einen Bereich des umgedrehten Bildes in das Zielbild
imagecopy($dst_image, $src_image, 0, 0, 50, 50, $width - 50, $height - 50);
// Neues Bild in den Browser ausgeben
header('Content-Type: image/jpeg');
imagejpeg($dst_image);
// Ressourcen aufräumen
imagedestroy($src_image);
imagedestroy($dst_image);
?>
Dieser Code wird:
Laden Sie das Bildbeispiel.jpg .
Das Bild horizontal umdrehen.
Kopieren Sie den umgedrehten Teil in ein neues Bild und geben Sie es in den Browser aus.
In diesem Beispiel drehen wir das Bild vertikal um und verschmelzen dann das gedrehte Bild mit dem Originalbild, um einen symmetrischen Effekt zu bilden.
<?php
// Laden des Bildes
$src_image = imagecreatefromjpeg('https://gitbox.net/images/example.jpg');
// Holen Sie sich die Breite und Höhe des Bildes
$width = imagesx($src_image);
$height = imagesy($src_image);
// Erstellen Sie ein neues Bild,Die Breite und Höhe sind doppelt so hoch wie das Originalbild
$dst_image = imagecreatetruecolor($width * 2, $height);
// Kopieren Sie das Originalbild auf der linken Seite des Zielbildes
imagecopy($dst_image, $src_image, 0, 0, 0, 0, $width, $height);
// Vertikales Flip Originalbild
imageflip($src_image, IMG_FLIP_VERTICAL);
// Kopieren Sie das umgedrehte Bild auf die rechte Seite des Zielbildes
imagecopy($dst_image, $src_image, $width, 0, 0, 0, $width, $height);
// Das zusammengeführte Bild ausgeben
header('Content-Type: image/jpeg');
imagejpeg($dst_image);
// Ressourcen aufräumen
imagedestroy($src_image);
imagedestroy($dst_image);
?>
Dieser Code wird:
Laden Sie das Bildbeispiel.jpg .
Kopieren Sie das Originalbild links vom neuen Bild.
Drehen Sie das Bild vertikal um und kopieren Sie das umgedrehte Bild nach rechts.
Das zusammengeführte Bild ausgeben.
Die Spiegelung ist ein häufiger Bildverarbeitungseffekt. Der folgende Code zeigt, wie dieser Effekt durch ImageFlip- und ImageCopy -Funktionen erzielt werden kann.
<?php
// Laden des Bildes
$src_image = imagecreatefromjpeg('https://gitbox.net/images/example.jpg');
// Holen Sie sich die Breite und Höhe des Bildes
$width = imagesx($src_image);
$height = imagesy($src_image);
// Erstellen Sie ein neues Bild,Verdoppeln Sie die Breite des Originalbildes
$dst_image = imagecreatetruecolor($width * 2, $height);
// Kopieren Sie das Originalbild auf der linken Seite des Zielbildes
imagecopy($dst_image, $src_image, 0, 0, 0, 0, $width, $height);
// Das Bild horizontal umdrehen
imageflip($src_image, IMG_FLIP_HORIZONTAL);
// Kopieren Sie das umgedrehte Bild auf die rechte Seite des Zielbildes
imagecopy($dst_image, $src_image, $width, 0, 0, 0, $width, $height);
// Ausgangsspiegel -Effekt -Bild
header('Content-Type: image/jpeg');
imagejpeg($dst_image);
// Ressourcen aufräumen
imagedestroy($src_image);
imagedestroy($dst_image);
?>
Dieser Code erzeugt einen Spiegeleffekt, indem das Bild horizontal gedreht und das gedrehte Bild mit dem Originalbild verschmelzen.
Das Kombinieren von ImageFlip- und ImageCopy -Funktionen kann eine Vielzahl komplexer Bildverarbeitungstechniken wie Bildflip, Kopieren und Verschmelzung implementieren. Diese Techniken können häufig in Szenen wie Erzeugung von Wasserzeichen, Makeln von Spleißkarten, Erzeugen von Spiegeleffekten usw. verwendet werden, indem Entwickler flexibel verwendet werden, um leistungsfähigere Bildverarbeitungsfunktionen zu erzielen und die Bildverarbeitungsfunktionen von Websites oder Anwendungen zu verbessern.
Hoffentlich kann dieser Artikel Ihnen helfen, die Bildverarbeitungsfunktionen von PHP besser zu verstehen und zu verwenden. Weitere Tipps für die PHP -Bildverarbeitung finden Sie in der offiziellen PHP -Dokumentation .