Die Bildverarbeitung ist eine sehr häufige Voraussetzung für die Webentwicklung. Unabhängig davon, ob es sich um Überprüfungscodes, die Zubeleber- und Skalierung von Bildern oder das Konvertieren von Bildern in Formate handelt, ist es mit dem Betrieb von Bilddatentypen untrennbar miteinander verbunden. In der PHP -Umgebung können diese Aufgaben hauptsächlich über die GD -Bibliothek und die ImageMagick -Bibliothek erledigt werden.
Die GD-Bibliothek ist eine integrierte Bildverarbeitungsbibliothek in PHP, die umfangreiche Funktionen zur Verarbeitung und Manipulation von Bilddaten bietet. Hier sind einige gängige Operationsbeispiele.
$width = 400; // Bildbreite
$height = 200; // Die Höhe des Bildes
$image = imagecreatetruecolor($width, $height); // Erstellen Sie ein leeres Bild
$backgroundColor = imagecolorallocate($image, 255, 255, 255); // Setzen Sie die Hintergrundfarbe auf Weiß
imagefill($image, 0, 0, $backgroundColor); // Hintergrundfarbe füllen
header('Content-type: image/png'); // aufstellenHTTPDer Kopfausgang istPNGFormatbild
imagepng($image); // Ausgabe Bild
imagedestroy($image); // Zerstöre Bildressourcen
$sourceFile = 'source.jpg'; // Quellbilddateiname
$destinationFile = 'destination.png'; // Zielbilddateiname
$sourceImage = imagecreatefromjpeg($sourceFile); // Quellenbild laden
$imageWidth = imagesx($sourceImage); // Bildbreite abrufen
$imageHeight = imagesy($sourceImage); // Bildhöhe erhalten
$destinationImage = imagecreatetruecolor($imageWidth, $imageHeight); // Erstellen Sie ein Zielbild
header('Content-type: image/png'); // aufstellenHTTPDer Kopfausgang istPNGFormatbild
imagepng($destinationImage, $destinationFile); // Speichern Sie das Zielbild
imagedestroy($sourceImage); // Quellenbildressourcen zerstören
imagedestroy($destinationImage); // Zerstören Sie Zielbildressourcen
$sourceFile = 'source.jpg'; // Quellbilddateiname
$destinationFile = 'destination.jpg'; // Zielbilddateiname
$destinationWidth = 300; // Zielbildbreite
$destinationHeight = 200; // Zielbildhöhe
$sourceImage = imagecreatefromjpeg($sourceFile); // Quellenbild laden
$sourceWidth = imagesx($sourceImage); // Holen Sie sich die Quellbildbreite
$sourceHeight = imagesy($sourceImage); // Holen Sie sich die Quellbildhöhe
$destinationImage = imagecreatetruecolor($destinationWidth, $destinationHeight); // Erstellen Sie ein Zielbild
imagecopyresampled($destinationImage, $sourceImage, 0, 0, 0, 0, $destinationWidth, $destinationHeight, $sourceWidth, $sourceHeight); // Zoomen Sie das Quellbild dem Zielbild
header('Content-type: image/jpeg'); // aufstellenHTTPDer Kopfausgang istJPEGFormatbild
imagejpeg($destinationImage, $destinationFile); // Speichern Sie das Zielbild
imagedestroy($sourceImage); // Quellenbildressourcen zerstören
imagedestroy($destinationImage); // Zerstören Sie Zielbildressourcen
Zusätzlich zur GD -Bibliothek kann PHP auch die ImageMagick -Bibliothek für die Bildverarbeitung verwenden. Imagemagick ist leistungsstärker und für komplexe Operationen auf Bildern geeignet. Hier ist ein einfaches Beispiel.
$sourceFile = 'source.jpg'; // Quellbilddateiname
$destinationFile = 'destination.jpg'; // Zielbilddateiname
$destinationWidth = 300; // Zielbildbreite
$destinationHeight = 200; // Zielbildhöhe
$imagick = new Imagick($sourceFile); // Quellenbild laden
$sourceWidth = $imagick->getImageWidth(); // Holen Sie sich die Quellbildbreite
$sourceHeight = $imagick->getImageHeight(); // Holen Sie sich die Quellbildhöhe
$imagick->cropThumbnailImage($destinationWidth, $destinationHeight); // Skalieren Sie das Quellbild auf die Zielgröße
$imagick->writeImage($destinationFile); // Speichern Sie das Zielbild
$imagick->destroy(); // Zerstöre Bildressourcen
Das obige Beispiel zeigt, wie die GD -Bibliothek und die ImageMagick -Bibliothek in PHP verwendet werden, um Bilder flexibel zu verarbeiten. Unabhängig davon, ob neue Bilder, Laden und Speichern oder Anbaus und Skalierung erstellt werden, können beide Bibliotheken unterschiedliche Anforderungen erfüllen. Aus der tatsächlichen Situation des Projekts wählen Sie einfach die entsprechende Bibliothek für die Entwicklung aus.