Heim >Backend-Entwicklung >PHP-Tutorial >Manipulation von Bildern in PHP mit GD
Dieses Tutorial untersucht die GD -Bibliothek von PHP (Graphic Draw) für eine effiziente Bildmanipulation. Das Verwalten zahlreicher Website -Bilder kann eine Herausforderung sein, aber GD automatisiert Aufgaben wie Größenänderung, Anbaus und Filterung.
Diese Anleitung deckt:
Was ist gd?
Die GD -Bibliothek vonPHP befähigt Sie, Bilder direkt in Ihren PHP -Skripten zu manipulieren und zu erstellen. Es behandelt die Bedürfnisse der gemeinsamen Bildbearbeitung.
setup
unter Windows aktivieren Sie die Erweiterung php_gd2.dll
in Ihrer php.ini
-Datei (häufig in xamppphpext
). Überprüfen Sie die Installation von GD mit imagecreatefrompng()
. Die Funktion imagecolorsforindex($image, $color)
ist nützlich für eine präzise Farbmanipulation. Für flexiblere Farbanpassungen sollten Sie jedoch mit individuellen Farbkomponenten (rot, grün, blau) arbeiten, um Toleranz zu ermöglichen.
Batch -Größengrößen -Bilder
Dieses Beispiel ändert alle JPEG -Bilder in einem Verzeichnis ("Nature/") auf eine Breite von 640 Pixel und passt die Höhe automatisch proportional an. Die angegriffenen Bilder werden in einem neuen Subdadumgeburt "Vene angegriffen" gespeichert.
$directory = 'Nature/'; $images = glob($directory."*.jpg"); foreach($images as $image) { $im_php = imagecreatefromjpeg($image); $im_php = imagescale($im_php, 640); $new_height = imagesy($im_php); $new_name = str_replace('-1920x1080', '-640x'.$new_height, basename($image)); imagejpeg($im_php, $directory.'Resized/'.$new_name); }
Dieser Code verwendet glob()
, um JPEGs zu lokalisieren, imagecreatefromjpeg()
zu laden, imagescale()
zum Größengrößen und imagejpeg()
, um die Ergebnisse zu speichern. Dateiname -Anpassungen stellen Klarheit sicher.
Stapel anwenden Filter
Dieses Beispiel wendet Graustufen- und Kontrastfilter (-25 für einen erhöhten Kontrast) auf alle JPEGs in "Nature/" an, wodurch die gefilterten Bilder in einem "Graustufen" -Subdadumgeburt gespeichert werden.
$directory = 'Nature/'; $images = glob($directory."*.jpg"); foreach($images as $image) { $im_php = imagecreatefromjpeg($image); imagefilter($im_php, IMG_FILTER_GRAYSCALE); imagefilter($im_php, IMG_FILTER_CONTRAST, -25); $new_name = basename($image); imagejpeg($im_php, $directory.'Grayscale/'.$new_name); }
imagefilter()
verändert die Bildressource direkt. Beachten Sie, dass Kontrastwerte von -100 bis 100 reichen (negative Werte erhöhen den Kontrast).
Schlussfolgerung
Die GD -Bibliothek von PHP bietet leistungsstarke Bildmanipulationsfunktionen, um die Website -Image -Management zu optimieren und beträchtliche Zeit zu speichern. Die zur Verfügung gestellten Beispiele dienen als Grundlage für komplexere Bildverarbeitungsskripte. Funktionen wie imagesx()
Ermöglichen Sie eine bedingte Bildmanipulation basierend auf Dimensionen.
Das obige ist der detaillierte Inhalt vonManipulation von Bildern in PHP mit GD. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!