2014-05-22 2 views
0

현재이 바이트 배열을 다시 얻을 때 비트 맵으로 다시 변환 할 때 압축되지 않은 비트 맵 바이트 배열을 제 3 자 라이브러리로 보내려고합니다.압축되지 않은 비트 맵 바이트 배열 작업

현재 해결 방법은 바이트 배열을 반복하여 픽셀 단위로 비트 맵에 그리는 것입니다. 그러나이 성능은 분명히 끔찍합니다.

질문 : 가능한 가장 빠른 방법으로 비 압축 바이트 배열을 비트 맵으로 변환하려면 어떻게해야합니까?

+0

은 INT [] 색상 매개 변수 – pskink

답변

0

사용이 :

public static BufferedImage toBufferedImage(byte[] pixels, int width, int height) throws IllegalArgumentException { 
    BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_3BYTE_BGR); 
    byte[] imgData = ((DataBufferByte)image.getRaster().getDataBuffer()).getData(); 
    System.arraycopy(pixels, 0, imgData, 0, pixels.length); 
    return image; 
} 

예를 들면 당신의 바이트 순서와 다른 이미지 유형을해야합니다 알파 채널에 따라 BufferedImage.TYPE_4BYTE_ABGR

+0

다른 패키지가 필요하지 않습니다. pls upvote 고려하십시오. – sina72

0

I는이 방법을 사용; 그것은 일했다!

public static Drawable byteToDrawable(byte[] data) { 

    if (data == null) 
     return null; 
    else 
     return new BitmapDrawable(BitmapFactory.decodeByteArray(data, 0,data.length)); 
} 

는 드로어 블을 반환 ...

는 나는 당신을 도울 것입니다 생각합니다.

+0

BitmapFactory이 질문의 답변을 참조하십시오 – sina72

+0

안드로이드 패키지를 필요로 Bitmap.create()를 시도 : 어떻게 비트 맵으로 바이트를 변환합니까?] (http://stackoverflow.com/questions/7007770/how-do-i-convert-byte-to-bitmap) –

관련 문제