Transparente GIF-Datei in der Android-Bildansicht
Ich versuche die Anzeige der transparenten GIF-Bild in meiner app, aber ohne Erfolg. Ich kann download und die Anzeige des Symbol in einer Bildansicht, aber mit weißen hintergrund, anstatt transparent.
Ich habe bereits versucht diese Lösungen ohne Erfolg:
Konvertieren Sie GIF nach PNG programmgesteuert
Hat jemand herausgefunden, wie man die Anzeige der GIF-Bild mit Transparenz? Ich bin mit der Android-18-SDK.
- Hier ist ein Fehlerbericht, der das problem beschreibt. Nicht sicher, ob Google plant, es zu beheben. Vielleicht starrte er wird helfen.
- Danke Paul, habe ich schon starrte es! Aber selbst wenn ich einen früheren SDK-Version als die 4.4, das gleiche problem immer noch Auftritt.
- Es sollte auf die version von android auf Ihrem Gerät, anstatt dem SDK bauen Sie vor. Testen Sie auf einem 4,4-Gerät? Ich habe eine Problemumgehung, die ich Stelle in Kürze.
- Ja, Sie haben absolut Recht. Ich war mit einem 4.4-Gerät. Ich habe gerade versucht den gleichen code in 4.3 emulator und die Transparenz fein gearbeitet. Ich warte auf deine Problemumgehung 🙂 nochmals vielen Dank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist ein workaround, der für mich gearbeitet hat. Es ist keine gute Lösung. Es kann nicht in allen Fällen funktionieren und es ist zu einem erheblichen Mehraufwand in der Bildverarbeitung. Hoffentlich jemand anderes eine bessere Lösung.
In mein Test-GIF-Bilder in 4.4 haben die Transparenz-Werte entweder als weiß (-1) oder schwarz (-16777216). Nach dem laden einer Bitmap können Sie konvertieren Sie das weiß/schwarze Pixel wieder auf transparent. Natürlich wird dies nur funktionieren, wenn der rest des Bildes wird nicht in der gleichen Farbe. Wenn es dann funktioniert, werden Sie auch konvertieren Sie Teile Ihres Bildes transparent, nicht transparent waren im ursprünglichen Bild. In meinem Fall war dies kein problem.
Können Sie den folgenden code verwenden, um zu konvertieren, entweder weiße oder schwarze Pixel, die zu transparent.
Hinweis: ich hatte um die Bitmap zu kopieren, um eine neue ARGB_8888 Bild für diese zu arbeiten. Auch beim laden der bitmap als veränderlich, ich konnte immer noch nicht ändern die Pixel. Dies ist zum Teil, warum es so viel Aufwand.
Können Sie GIMP (opern-source -, GNU-software) zu konvertieren GIF zu PNG. Installieren Sie die software, öffnen Sie die GIF, exportieren Sie es als PNG.
Können Sie GifDecoder von android-gifview statt BitmapFactory zu entschlüsseln GIFs:
Es funktioniert für mich.