Konvertieren von Bitmap in ein ByteArray und Umgekehrt

In meiner android-Anwendung, die ich zu konvertierende Bild ,aufgenommen von der Kamera, zu byte array und zurück konvertieren in bitmap zur Ansicht in einem Bild anzeigen. Ich kann es leicht durch Bitmap.komprimieren. Aber ich will es tun, ohne Bitmap.komprimieren. Das problem ist, dass ich immer weiße Linien (schlechte Bilder jedes mal, wenn(Zeilen) )

                        Bitmap hello;    //image coming from camera
                        ByteBuffer buffer = ByteBuffer.allocate(hello.getByteCount()); 
                        hello.copyPixelsToBuffer(buffer);
                        byte[] bytes1 = buffer.array();
                        byte [] Bits = new byte[bytes1.length*4];
                        int i;
                   for(i=0;i<bytes1.length;i++)
                {
                    Bits[i*4] =
                        Bits[i*4+1] =
                        Bits[i*4+2] = (byte) ~bytes1[i]; //Invert the source bits
                    Bits[i*4+3] = -1;//0xff, that's the alpha.
                }

                Bitmap bmimage = Bitmap.createBitmap( 360,248, Bitmap.Config.ARGB_8888);
                bmimage.copyPixelsFromBuffer(ByteBuffer.wrap(Bits));
                imageView11.setImageBitmap(bmimage);
  • Und gibt es irgendwelche nennenswerten Grund, warum man nicht verwenden build-in Methode compress und verwenden Sie Ihre hardcoded Ansatz?
  • und jetzt, was ist der Grund zu vermeiden, Bitmap.komprimieren ?
InformationsquelleAutor user2768215 | 2013-10-31
Schreibe einen Kommentar