Während der PHP -Bildverarbeitung ist die GD -Bibliothek eine sehr leistungsstarke und häufig verwendete Erweiterungsbibliothek, die mehrere Bildformate, einschließlich GD2, unterstützt. GD2 ist ein dediziertes Format, das normalerweise nicht direkt von regulären Image -Zuschauern erkannt wird. Daher müssen wir es häufig in ein allgemeineres Format wie JPEG umwandeln.
In diesem Artikel wird vorgestellt, wie die Funktion der ImagecreateFromgd2 () verwendet wird, um eine Bilddatei im .gd2 -Format zu lesen und sie im JPEG -Format über die Funktion von ImageJpeg () zu speichern.
Stellen Sie sicher, dass Ihre PHP -Umgebung die GD -Erweiterung aktiviert hat. Sie können sich mit dem folgenden Befehl erkundigen:
php -m | grep gd
Wenn es nicht aktiviert ist, können Sie die folgenden Zeilen in php.ini inkennt:
extension=gd
Starten Sie den Webserver neu und wirksam.
ImagecreateFromgd2 () ist eine Funktion der GD -Bibliothek, um Bildressourcen aus .gd2 -Bilddateien zu erstellen.
resource imagecreatefromgd2(string $filename);
Parameterbeschreibung:
$ filename : Der Pfad zur zu gelseenden GD2 -Bilddatei.
Rückgabewert: Return Image Resource bei erfolgreichem und beim Fehler falsch zurückgeben.
ImageJpeg () wird verwendet, um Bildressourcen im JPEG -Format auszugeben oder als Datei zu speichern.
bool imagejpeg(GdImage $image, ?string $file = null, int $quality = -1);
Häufige Parameter:
$ Bild : Bildressource.
$ Datei : Speichern Sie den Pfad, wenn NULL , ihn direkt ausgeben.
$ Qualität : Bildqualität, Bereich 0 (schlechteste) bis 100 (am besten), Standardwert -1 bedeutet, dass der Standardwert verwendet wird.
Hier finden Sie ein vollständiges Beispiel: Konvertieren des GD2 -Formatbildbeispiels.gd2 in JPEG und Speichern von Output.jpg .
<?php
// aufstellen GD2 Dateipfad
$gd2File = 'https://m66.net/images/example.gd2';
// Remote herunterladen GD2 Dateien zum lokalen temporären Verzeichnis
$tempGd2 = sys_get_temp_dir() . '/temp_image.gd2';
file_put_contents($tempGd2, file_get_contents($gd2File));
// aus GD2 Bildressourcen erstellen
$image = imagecreatefromgd2($tempGd2);
if ($image === false) {
die('Nicht lesen GD2 Bilddatei。');
}
// aufstellen输出 JPEG Dateipfad
$outputJpeg = __DIR__ . '/output.jpg';
// Sparen as JPEG Format,Qualität ist 90
if (imagejpeg($image, $outputJpeg, 90)) {
echo "图像已成功转换并Sparen as JPEG:" . $outputJpeg;
} else {
echo "Bildsparen fehlgeschlagen。";
}
// Bildressourcen freigeben
imagedestroy($image);
// Temporäre Dateien löschen
unlink($tempGd2);
?>
Berechtigungen Ausgabe : Stellen Sie sicher, dass der PHP -Prozess die Erlaubnis hat, den Ausgangspfad zu schreiben.
Remote -Ressourcensicherheit : Stellen Sie beim Herunterladen von Remote .gd2 -Dateien sicher, dass die Quelle vertrauenswürdig ist und Sicherheitsrisiken vermeiden.
Formaterkennung : ImagecreateFromgd2 () kann das GD2 -Format nur lesen, und es wird versuchen, andere Formate zu lesen.
Durch die Funktion der ImagecreateFromgd2 () können wir die GD2 -Bildressourcen problemlos lesen und dann die Formatkonvertierung implementieren und mit ImageJpeg () speichern. Diese Methode eignet sich für eine Vielzahl von Szenarien wie automatisierte Bildverarbeitung und einheitliche Hintergrundbildformate. Wenn Sie diese grundlegenden Funktionen beherrschen, können Sie Ihr PHP -Bildverarbeitungsprogramm flexibler und leistungsfähiger machen.
Muss ich einen Beispielcode hinzufügen, damit Sie JPEG direkt im Bildbrowser anzeigen können?