프로그램/Android

이미지사이즈 초과시 대처(Bitmap too large)

잡식성초보 2018. 1. 11. 10:28

Bitmap too large to be uploaded into a texture (2316x4632, max=4096x4096)



안드로이드 앱 개발중 라이센스 문제를 위해 크기가 720x6153 사이즈의 이미지를 넣어줘야 하는 일이 생겨서 작업을 해야했습니다.


이미지가 커서 스크롤뷰를 이용하여 작업을 하면 간단하게 해결될거라고 생각하였는데 왠걸 최신 디바이스에서는 전혀 문제가 없지만


몇년 지난 디바이스에서는 위의 저 더러운 경고가 발생하면서 이미지가 나오지 않는 현상이 발견 되었습니다. 


그리하여 구글링 결과 Manifest.xml에서 hardwareAcceleratedfalse로 값을 주면 정상적으로 작동합니다.


이런것으로 보아 default 값이 true 인듯 하네요....ㅠ


만약 hardwareAccelerated 값을 true로 무조건 사용하여야 하는 경우라면 GL_MAX_TEXTURE_SIZE  이 위의 MAX 값만큼


렌더링이 가능해서 이미지 크기를 조절해 주셔야 할거같네요.



이미지 Resize

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.software_notice);
Bitmap resized = Bitmap.createScaledBitmap( bitmap, 넓이, 높이, true );
img.setImageBitmap(resized);


반응형