Das Verarbeiten von Bildern in PHP ist eine leistungsstarke Fähigkeit, insbesondere wenn Sie die Bildbearbeitung automatisieren oder Bildverarbeitungsfunktionen wie Avatar -Anbaus, Miniaturansichterzeugung oder Bildverschönerung erstellen möchten. In diesem Artikel wird vorgestellt, wie die beiden GD -Bibliotheksfunktionen von ImageFlip () und imagescale () verwendet werden, um Bilder zu erstellen, zu skalieren und zu flipen, um eine personalisierte Verarbeitung der personalisierten Bildeffekte zu erzielen.
Stellen Sie vor Beginn sicher, dass die GD -Bibliothek in Ihrer PHP -Umgebung aktiviert ist. Sie können überprüfen, indem Sie den folgenden Code ausführen:
if (extension_loaded('gd')) {
echo "GD Ermöglicht";
} else {
echo "Bitte aktivieren GD Erweitert";
}
Nehmen wir ein JPEG -Bild als Beispiel und laden Sie es zuerst in den Speicher:
$imagePath = 'https://m66.net/images/sample.jpg';
$image = imagecreatefromjpeg($imagePath);
Angenommen, wir möchten den 200x200 -Bereich in der Mitte des Originalbildes aufnehmen, können wir ImageCrop () verwenden:
$cropWidth = 200;
$cropHeight = 200;
$width = imagesx($image);
$height = imagesy($image);
$cropX = ($width - $cropWidth) / 2;
$cropY = ($height - $cropHeight) / 2;
$croppedImage = imagecrop($image, [
'x' => $cropX,
'y' => $cropY,
'width' => $cropWidth,
'height' => $cropHeight
]);
Verwenden Sie Imagescale () , um das Bild zu skalieren, zum Beispiel, um das Bild auf 100x100 zu verkleinern:
$scaledImage = imagescale($croppedImage, 100, 100);
Sie können auch nur Breiten bereitstellen und automatisch die Skalierung der Höhe skalieren:
$scaledImage = imagescale($croppedImage, 100);
Verwenden Sie als nächstes ImageFlip () , um das Bild horizontal oder vertikal umzudrehen:
// Horizontaler Flip
imageflip($scaledImage, IMG_FLIP_HORIZONTAL);
// Vertikaler Flip(Überzeugung oben,Versuchen Sie es stattdessen, diese Zeile zu verwenden)
// imageflip($scaledImage, IMG_FLIP_VERTICAL);
Sie können auch IMG_FLIP_BOTH verwenden, um gleichzeitig horizontal und vertikal umzudrehen.
Sie können das verarbeitete Bild an den Browser ausgeben:
header('Content-Type: image/jpeg');
imagejpeg($scaledImage);
imagedestroy($scaledImage);
Oder auf der Datei auf dem Server speichern:
imagejpeg($scaledImage, '/var/www/m66.net/public/processed.jpg');
Durch die Verwendung von ImageFlip () und ImagesCale () können Sie Bilder flexibel verarbeiten und die Kombination von ImageCrop () können komplexere Bildanpassungseffekte erzielen. Dies ist sehr nützlich, um Image -Editoren, User Avatar -Verarbeitungsmodule oder Inhaltsanzeigesysteme zu erstellen.
Vergessen Sie nicht, denken Sie daran, ImagingStroy () zu verwenden, um den Speicher für alle verarbeiteten Bildressourcen zu freien, um die Skripteffizienz und Ressourcenveröffentlichung sicherzustellen:
imagedestroy($image);
imagedestroy($croppedImage);
Ich hoffe, dieser Artikel wird Ihnen auf dem Weg zur PHP -Bildverarbeitung hilfreich sein! Wenn Sie auch an anderen Bildverarbeitungsfunktionen interessiert sind, erkunden Sie weitere Funktionen der GD -Bibliothek weiter.