Wie konvertiert einen Base64-PNG zu JPG-Bild?
Habe ich diese Base64-PNG, die ich entschlüsseln will, um JPG-Datei. Wenn ich umwandeln in PNG, es funktioniert gut mit:
list($type, $data) = explode(';', $data);
list(, $data) = explode(',', $data);
$data = base64_decode($data);
file_put_contents('myDirectory/filename.png', $data);
Aber wenn ich versuchen, es zu speichern als JPG, es kommt in schwarz und weiß mit (MyDirectory/filename.jpg
).
Wie konvertiere ich es in ein JPG? hier ist ein Beispiel meiner Base64-PNG:
data:image/png;base64,iVBORw0KGgoAAAANSUhE...
- der Unterschied zwischen jpeg und png nicht nur eine Erweiterung, es ist eine völlig andere Codierung
- ich weiß, keine Ahnung, wie zu tun, dass andere Codierung?
- stackoverflow.com/questions/1201798/... oder stackoverflow.com/questions/8550015/...?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Base64 ist eine Kodierung, die auch unbedingt verwendet werden, konvertieren von Daten in eine text-transportable format. Was ist das encoding-format konvertiert werden muss weiter, wenn Sie wollen ein anderes format. Also, wenn Sie wollen, dass die PNG zu JPEG, nach dem Base64-Dekodieren, muss es konvertiert werden, indem ein anderes Werkzeug in ein JPEG. Dieser thread hat einige gute Vorschläge. @Andrew Moore, der Antworten, der thread empfiehlt die Verwendung einer Funktion wie diese. Werden Sie sicher, dass die GD-Bibliothek installiert, die als Teil Ihrer PHP-Konfiguration:
So, die mit Ihrem code als ein Beispiel, würden Sie dann verwenden Sie diese Funktion, um Folgendes zu tun:
Oder Sie dekonstruieren die Funktionen des
png2jpg
- Funktion und verwenden Sie in Ihrem code wie folgt:Der einfachste Weg, um dieser seit PHP 5.2.0 ist mit dem Daten:// wrapper, Sie können es verwenden, wie eine Datei, die in viele Funktionen.