Ich habe ein HTML-Formular, die Base64-String eines Bildes an php übermittelt. Das PHP-Skript base64 decodiert die Zeichenfolge, ruft die Image-Ressource unter Verwendung von imagecreatefromstring()
ab und speichert dann die Ressource in einer png
-Datei. Wenn ich die gespeicherte Datei öffne, sehe ich, dass die Datei nicht mit dem Bild identisch ist, das ich hochgeladen habe. Überall dort, wo Text im Bild ist, erscheint dieser Teil als ein mit Farbe gefülltes Rechteck. Anfügen der hochgeladenen Version des Bildes und des gespeicherten Bildes. Ich habe die neueste Version von PHP installiert (v7) und die neueste Version von PHP-Gd-Bibliothek, die auf Ubuntu 16.04 LTS läuft. Ich kann das Problem nicht lösen. Bitte helfen Sie.PHP Bildbearbeitung korrumpierenden Text innerhalb Bild
Bild Ich versuche
Bild hochladen, die von PHP
Sieht aus wie Transparenz (Alpha-Kanal) wird falsch interpretiert ... – jtheman
Wenn Sie das Bild in keiner Weise manipulieren, warum erstellen Sie eine GD Ressource? Verwenden Sie einfach 'base64_decode()' und dann 'file_put_contents()'. Auf diese Weise werden die Daten überhaupt nicht geändert. – timclutton
Ich konvertiere das Bild von einem beliebigen Bildtyp in .png – Rajesh