안드로이드 개발 질문/답변
(글 수 45,052)
CompressFormat.PNG 랑 CompressFormat.JPEG 만 지원하던데
JPEG는 아에 화면 보이지도 않고 PNG파일로 떨궜을때 이미지가 보이더라구요
이미지를 바로 BMP파일로 떨구거나
아니면 PNG로 떨군걸 BMP로 변환시킬 방법없나요?
BMP파일이 필요한데ㅜㅜ 고수님들 답변좀
2012.05.07 11:01:04
Bitmap oldBitmap = BitmapFactory.decodeFile("/data/data/seo.test/files/2222.png",options);
int orgWidth = oldBitmap.getWidth();
int orgHeight = oldBitmap.getHeight();
int[] pixels = new int[orgWidth * orgHeight];
oldBitmap.getPixels(pixels, 0, orgWidth, 0, 0, orgWidth, orgHeight);
로 pixels정보는 받아왔는데 여기에 헤더정보를 적당히 넣어준다는게 어떤건지 잘모르겠네요ㅜ
42 4D 여기서 부터 4번쨰줄 00 00 까지가 BMP 헤더정보인거 같은데 이걸 어떻게 붙이는건지 모르겠습니다.ㅜ
막상 구현했던 코드를 찾으려니 찾기가 어렵네요.
png 파일을 Bitmap 클래스로 변경한 후
getPixels(int[] pixels, int offset, int stride, int x, int y, int width, int height); 메소드를 통해 pixels 정보를 빼 온 후
pixels 정보 앞에 bitmap 헤더를 적당히 넣어주면 됩니다. 헤더 정보는 http://heinek.tistory.com/13 를 참조 하시는게 편할 겁니다.