Bei der täglichen Entwicklung ist die Bildverarbeitung eine sehr häufige Anforderung, wie z. B. Bildflip (Mirror), komprimierte Bildgröße, speichern optimierte Bilder usw. In PHP können wir diese Funktionen problemlos mit der integrierten GD-Bibliothek implementieren.
In diesem Artikel werden Sie Schritt für Schritt benötigt, um den Verarbeitungsfluss von Bildflip, Komprimierung und Speichern durch PHP vollständig zu erfassen. Unabhängig davon, ob Sie eine Bild -Upload -Schnittstelle im Bild entwickeln oder ein Bildverwaltungssystem erstellen, können Sie in diesem Artikel eine praktische Referenz liefern.
Stellen Sie zunächst sicher, dass Ihr Server die GD -Bibliothek aktiviert hat. Überprüfen Sie, ob die GD -Bibliothek in PHP unterstützt wird:
<?php
if (extension_loaded('gd')) {
echo "GD Die Bibliothek ist aktiviert";
} else {
echo "Bitte installieren und aktivieren GD Bibliothek";
}
?>
Verwenden wir JPEG Image als Beispiel, um die Bilddatei zu laden:
<?php
$imagePath = 'uploads/sample.jpg';
$image = imagecreatefromjpeg($imagePath);
if (!$image) {
die('Das Bild nicht laden');
}
?>
<?php
function flipImageHorizontally($image) {
$width = imagesx($image);
$height = imagesy($image);
$flipped = imagecreatetruecolor($width, $height);
for ($x = 0; $x < $width; $x++) {
imagecopy($flipped, $image, $width - $x - 1, 0, $x, 0, 1, $height);
}
return $flipped;
}
$image = flipImageHorizontally($image);
?>
<?php
function flipImageVertically($image) {
$width = imagesx($image);
$height = imagesy($image);
$flipped = imagecreatetruecolor($width, $height);
for ($y = 0; $y < $height; $y++) {
imagecopy($flipped, $image, 0, $height - $y - 1, 0, $y, $width, 1);
}
return $flipped;
}
// $image = flipImageVertically($image); // Kenntnis
?>
Die Bildkomprimierung bezieht sich normalerweise auf die Einstellung der Qualität des Bildes, wenn sie gespeichert werden. Für JPEG-Bilder kann die Komprimierungsqualität während des Speicherns (0-100) festgelegt werden:
<?php
$compressedPath = 'uploads/compressed.jpg';
$quality = 75; // Je kleiner der Wert,Je höher die Kompression,Je niedriger die Bildqualität
if (!imagejpeg($image, $compressedPath, $quality)) {
die('Versäumte es, das Bild zu komprimieren und zu speichern');
}
?>
Nach erfolgreicher Komprimierung und Speichern kann beispielsweise ein Bildzugriffslink angegeben werden:
<?php
echo 'Die Bildverarbeitung war erfolgreich,Besuchen Sie Link:<a href="https://m66.net/uploads/compressed.jpg">Klicken Sie hier, um das Bild anzuzeigen</a>';
?>
Sie können den gesamten Prozess auch in eine Funktion einschließen, um die Wiederverwendbarkeit zu verbessern:
<?php
function processImage($inputPath, $outputPath, $flipType = 'horizontal', $quality = 80) {
$image = imagecreatefromjpeg($inputPath);
if (!$image) return false;
if ($flipType === 'horizontal') {
$image = flipImageHorizontally($image);
} elseif ($flipType === 'vertical') {
$image = flipImageVertically($image);
}
return imagejpeg($image, $outputPath, $quality);
}
?>
Durch die GD -Bibliothek von PHP können wir Bilder sehr flexibel verarbeiten, einschließlich:
Bilddateien laden;
Flip (horizontal/vertikal);
Komprimieren und retten;
Ausgabeverarbeitungsergebnisse.
Dieser Vorgang eignet sich für die meisten Webanwendungsszenarien, insbesondere für Funktionen, die nach dem Hochladen von Bildern optimiert werden müssen.
Wenn Sie mehr Anforderungen an die Bildverarbeitung haben, wie z. B. Zuschneiden, Wasserzeichen und Anpassung der Größe, ist die GD -Bibliothek auch kompetent und wir werden auch in Zukunft fortgeschrittenere Artikelverarbeitungsartikel mitbringen. Bitte bleiben Sie dran!