Die Bildverarbeitung ist eine sehr häufige Voraussetzung für die Webentwicklung. Als Backend -Sprache bietet PHP eine leistungsstarke GD -Bibliothek zur Unterstützung verschiedener Vorgänge von Bildern. In diesem Artikel wird vorgestellt, wie die integrierte ImageFlip -Funktion von PHP verwendet wird, um Bilder umzudrehen und die Komprimierungstechnologie zu kombinieren, um die Größe von Bilddateien effektiv zu reduzieren.
ImageFlip ist eine in PHP 5.5.0 und höher eingeführte Funktion, die zum Umdrehen von Bildressourcen verwendet wird. Es unterstützt horizontale Flip, vertikaler Flip und gleichzeitig horizontaler und vertikaler Flip.
Funktionsprototyp:
bool imageflip ( resource $image , int $mode )
$ Bild : Bildressource, die umgedreht werden muss.
$ modus : Flip -Modus, optionaler Wert:
Img_flip_horizontal (horizontaler Flip)
IMG_FLIP_VERTICAL (vertikaler Flip)
IMG_FLIP_BOTH (gleichzeitig horizontal und vertikal flip)
Angenommen, es gibt ein Bild namens Input.jpg , und das Folgende zeigt, wie das Bild horizontal umdreht:
<?php
// 1. Bilddateien lesen
$imagePath = 'input.jpg';
$image = imagecreatefromjpeg($imagePath);
if (!$image) {
die('Das Bild kann nicht geladen werden');
}
// 2. verwenden imageflip Drehen Sie das Bild um(Horizontaler Flip)
if (!imageflip($image, IMG_FLIP_HORIZONTAL)) {
imagedestroy($image);
die('Image Flip fehlgeschlagen');
}
// 3. Speichern Sie das umgedrehte Bild
$outputPath = 'flipped.jpg';
if (!imagejpeg($image, $outputPath)) {
imagedestroy($image);
die('Das Bild nicht speichern');
}
// 4. Ressourcen frei machen
imagedestroy($image);
echo "Bild erfolgreich,Gerettet als:{$outputPath}";
?>
Die ImageJPEG -Funktion in PHP unterstützt die Einstellung der Komprimierungsqualität von 0 (schlechteste Qualität, Mindestdatei) bis 100 (beste Qualität, maximale Datei). Eine angemessene Einstellung der Kompressionsqualität kann die Bildgröße effektiv verringern und gleichzeitig einen guten visuellen Effekt beibehalten.
Ändern Sie den gespeicherten Teil im obigen Code:
// Stellen Sie die Kompressionsqualität auf 75
$quality = 75;
if (!imagejpeg($image, $outputPath, $quality)) {
imagedestroy($image);
die('Das Bild nicht speichern');
}
Hier ist ein umfassendes Beispiel, das das Lesen eines Bildes demonstriert und nach horizontaler Umdrehung komprimiert und gespeichert ist:
<?php
$imagePath = 'input.jpg';
$outputPath = 'flipped_compressed.jpg';
// 1. Laden des Bildes
$image = imagecreatefromjpeg($imagePath);
if (!$image) {
die('Das Bild kann nicht geladen werden');
}
// 2. Drehen Sie das Bild um(Vertikales Flip -Beispiel)
if (!imageflip($image, IMG_FLIP_VERTICAL)) {
imagedestroy($image);
die('Image Flip fehlgeschlagen');
}
// 3. Speichern Sie das Bild, indem Sie die Komprimierungsqualität festlegen
$quality = 70; // Kann gemäß den Anforderungen angepasst werden
if (!imagejpeg($image, $outputPath, $quality)) {
imagedestroy($image);
die('Das Bild nicht speichern');
}
// 4. Ressourcen frei machen
imagedestroy($image);
echo "Das Bild wurde erfolgreich umgedreht und komprimiert,Speichern Sie den Weg:{$outputPath}";
?>
Mit der ImageFlip -Funktion können Sie schnell horizontale, vertikale oder bidirektionale Flip eines Bildes erreichen.
Durch den dritten Parameter der ImageJPEG -Funktion kann die Komprimierungsqualität des Ausgangs -JPEG -Bildes gesteuert werden, wodurch die Dateigröße verringert wird.
Die rational anpassende Komprimierungsqualität kann die Dateigröße erheblich reduzieren, während der visuelle Effekt des Bildes beibehalten und die Ladegeschwindigkeit der Website verbessert wird.
Weitere Tutorials für PHP-Image-Verarbeitung finden Sie unter https://gitbox.net/tutorials/php-image-processing