2011-08-04 2 views
0

JPEG 이미지를 Android에서 Byte Array로 변환하고 싶습니다. 아래의 코드를 사용하고 있습니다 :JPEG에서 Android의 Byte Array 로의 이미지 변환

if (PhotoScreen.st_bitPicture != null) 
      { 

       ByteArrayOutputStream bos = new ByteArrayOutputStream(); 
       boolean b = PhotoScreen.st_bitPicture.compress(CompressFormat.JPEG, 100, bos); 
       Log.w("test2", "BOOLEAN BOOLEAN BOOLEAN BOOLEAN :"+b); 
       m_base64EncodedImage = Base64.encodeToString(bos.toByteArray(), Base64.DEFAULT); 
      } 

그러나 이미지를 압축하고 있습니다. 이미지를 압축하지 않고 어떻게 할 수 있습니까?

답변

0

"압축"이라고 말하면 "기본 64로 변환 하시겠습니까?"라는 뜻입니까? 이미 바이트 배열을 가지고 있고, 그것을 기본 64로 인코딩합니다. 원하는 출력은 무엇입니까?

PhotoScreen.st_bitPicture.compress(CompressFormat.JPEG, 100, bos); 

메모리 내 JPEG 이미지 (JPEG 압축)를 생성합니다.

bos.toByteArray() 

JPEG 데이터로 바이트 배열을 만듭니다. 그것이 당신이 원하는 것입니다. 당신이 (16 진수로 변환 바이트 배열의 문자열과 같은) 다른 출력을 원한다면베이스 (64)를 원하지 않는 경우

Base64.encodeToString(bos.toByteArray(), Base64.DEFAULT); 

, 그럼 그렇게 그냥 그 단계를 생략베이스 (64)이 데이터를 인코딩 대신 .

+0

다른 픽셀 크기의 서버로 이동하고 있습니다. 300 * 400으로 가져 가면 200 * 225로 저장됩니다. –

+0

'Bitmap.compress'는 이미지의 크기를 조정하지 않습니다. 그것은 비트 맵을 만들 때 일어 났을 것입니다. – EboMike