1. Gewinne jetzt ein UMiDIGI C Note - alle Informationen findest du hier!!
  1. Kernle 32DLL, 21.11.2010 #1
    Kernle 32DLL

    Kernle 32DLL Threadstarter Neuer Benutzer

    Moin,

    Ich habe derzeit ein kleines Problem. Ich habe ein 32bit Bild mit eine Alphakanal, das ich per Asset lade (wird als ARGB_8888 geladen).

    Wenn ich dieses Bild jetzt als Bitmap auf ein Canvas einer View zeichne (onDraw), dann erhalte ich typische 16bit Konvertierungs Farbfehler (banding).

    Ich weiß das Android nur 16bit darstellen kann, also wie konvertiere ich mein Bild im Code so, dass es ohen Farbfehler dargestellt wird? Ich habe versucht es als ARGB_4444 zu laden, aber damit bekam ich nur andere Grafikfehler (Blockbildung), es per BitmapFactory.Options mit Dithering zu laden (kein Effekt), sowie mit Paint die Dithering aktiviert hatte zu zeichnen (auch kein Effekt).

    Da ich im moment kein Android Handy zum testen habe, könnte es sich um ein Emulator Problem handeln. Falls nicht, wie löse ich das Problem?

    So long,
    Kernle
     
  2. ko5tik, 21.11.2010 #2
    ko5tik

    ko5tik Android-Experte

    Es kann sehr gut sein, das der Bitmap bereits bei dem erstellen von apk in die 16 bit umgewandelt wurde - has du den Farbraum von BItmap nach dem laden überprüft? Wenn es der Fall sein sollte,
    soll der Bitmap in die raw/ und nicht in drawable/

    Ansonsten auf parleys.com nach dem devoxx-Channel suchen, und aktuelle Presentationen von Romain Gui / Chet Haase anschauen ( von letzten Donnerstag) - die haben es erfunden ;)
     
  3. Kernle 32DLL, 21.11.2010 #3
    Kernle 32DLL

    Kernle 32DLL Threadstarter Neuer Benutzer

    Wie gesagt, ich lade sie per Asset, da werden sie nicht vorkonvertiert. Habe aber auch nachgeprüft, sie werden tatsächlich (ohne das ich sie anderweitig verändere) als ARGB_8888 geladen.
     
  4. ko5tik, 22.11.2010 #4
    ko5tik

    ko5tik Android-Experte

    Wie definierst du deinen View? Ich erinere mich undeutlich das es wichtig ist, das
    da die Transparenz eingeschaltet wird ( da gab es gute Zusammenstellung, die ich aber nicht mehr finde)
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
Wie zeichne ich eine Linie mit Canvas ? Android App Entwicklung 28.01.2017
Viewelemente neu zeichnen Android App Entwicklung 04.01.2017
Anomalie bei Bitmap-Transfer übers Netzwerk Android App Entwicklung 21.11.2016
Android Maps - Zeichnen in der App Android App Entwicklung 14.11.2016
Du betrachtest das Thema "32bit Bitmap mit Alpha zeichnen?" im Forum "Android App Entwicklung",