Android-Farb-Formate (RGB565, ARGB8888)

    getHolder().setFormat(PixelFormat.RGBA_888);        

    Options options = new BitmapFactory.Options();       
    options.inDither=true;                               
    options.inScaled = true; 
    options.inPreferredConfig = Bitmap.Config.ARGB_8888; 
    options.inPurgeable=true;

(Bitmat erstellt mit Hilfe der Optionen oben)

Wenn mit dem obigen code erhalte ich die folgenden Ergebnisse.........

  • Keine Farbe Streifenbildung auf meinem Tablet-Gerät
  • Bemerkbar, Farbe Streifenbildung auf dem Testfeld Handy (Samsung Galaxy Ace)

    getHolder().setFormat(PixelFormat.RGBA_888);        
    
    Options options = new BitmapFactory.Options();       
    options.inDither=true;                               
    options.inScaled = true; 
    options.inPreferredConfig = Bitmap.Config.ARGB_565; 
    options.inPurgeable=true;
  • Kein colour banding auf meinem tablet

  • Noticible Farbe Streifenbildung auf dem Galaxy Ace
  • Gleichen Ergebnisse wie oben

    getHolder().setFormat(PixelFormat.RGB_565);     
    
    Options options = new BitmapFactory.Options();       
    options.inDither=true;                               
    options.inScaled = true; 
    options.inPreferredConfig = Bitmap.Config.RGB_565; 
    options.inPurgeable=true;
  • Farbe Streifenbildung auf meinem tablet

  • Farbe Streifenbildung auf dem SG Ace

    getHolder().setFormat(PixelFormat.RGB_565);     
    
    Options options = new BitmapFactory.Options();       
    options.inDither=true;                               
    options.inScaled = true; 
    options.inPreferredConfig = Bitmap.Config.ARGB_8888; 
    options.inPurgeable=true;
  • Farbe Streifenbildung auf meinem tablet

  • Farbe Streifenbildung auf dem SG Ace

So, zum Schluss, nur das PixelFormat.xxxx Teil scheint keinen Unterschied machen. Mein Verständnis ist, dass dies ist, um die Halter-Farbe-format. Dies hat Auswirkungen auf alles gezogen. (also, alles, was mit diesem format).

Könnte mir jemand erklären, was der Zweck der folgenden Zeile bitte?

Optionen.inPreferredConfig = Bitmap.Config.xxxxxxx

Dieses scheint nicht, haben keine Auswirkung auf die bitmap gezeichnet worden ist.

Leistung im Vordergrund steht, so kann ich meine ursprüngliche png-Dateien, so dass Sie nicht haben, Verläufe, (dh, an Sie zu zeichnen als RGB565 - ist dies ratsam, oder sollte ich stick mit 8888?) oder sollte dithering beheben? (weil, wie Sie sehen können, ich habe es aktiviert, aber es scheint nicht zu helfen).

Irgendwelche Ideen, warum das banding ist immer auf dem Ace? Könnte es sein, eine Beschränkung der hardware?

Dank ist dies alles sehr verwirrend.

(PS ich habe gelesen, das offizielle Handbuch, schau ich immer an, dass Sie vor der Buchung eine Frage zu SO als auch als auf der Suche nach anderen verwandten SO Fragen, aber die offizielle Anleitung (wie es allzu oft der Fall ist), nicht klar für mich und ich konnte nicht die Antworten finden, die über andere Fragen, also entschuldigt, wenn es hier auch schon).

InformationsquelleAutor Zippy | 2013-03-02

Schreibe einen Kommentar