마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

byte를 비트맵으로 저장..

0 추천
안녕하세요.

 

byte 배열로 된 비트맵 데이터를 .bmp 파일로 /sdcard 에 저장을 하고싶습니다.

byte 배열로된 비트맵 데이터는

32x32 사이즈의 비트맵 이미지를, 울트라에디트 헥사모드로 열어서 가져왔습니다.

붙여넣기가 안되는데.. 대략

42 4d .... 어쩌구저쩌구 하는 데이터 입니다.

이 데이터를

 

byte[] imageData;

imageData에 넣었다고 가정후,

imageData 를 .bmp 파일로 출력하려고 합니다.

FileOutputStream 을 이용하여 출력을 하니, .bmp 파일이 저장은 되는데 이미지가 나오질 않는 상황입니다.

 

byte[] 에 저장되어있는 데이터를 .bmp로 제대로 저장을 하려면 어떻게 해야될까요..
아시리 (8,400 포인트) 님이 2014년 12월 24일 질문

1개의 답변

0 추천
 
채택된 답변
byte[] data = 데이터;
YuvImage yuvimage = new YuvImage(data, ImageFormat.NV21, 폭, 높이, null);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
yuvimage.compressToJpeg(new Rect(0, 0, 폭, 높이), 100, baos);
byte[] jdata = baos.toByteArray();
BitmapFactory.Options bitmapFatoryOptions = new BitmapFactory.Options();
bitmapFatoryOptions.inPreferredConfig = Bitmap.Config.RGB_565;
Bitmap bm = BitmapFactory.decodeByteArray(jdata, 0, jdata.length, bitmapFatoryOptions);
//이 비트맵 bm을 compress로 bmp저장 bm.compress

전 비트맵 만들때 이렇게 했는데 ㅜ 이렇게 해보시던가 더 좋은 답변을 기다려보세요..

익명사용자 님이 2014년 12월 24일 답변
아시리님이 2015년 2월 5일 채택됨
...