Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to catch error 'Bitmap too large to be uploaded into a texture'

My android application handles very large Bitmaps. Because of this, I turned hardware-acceleration off on the image views. However, some users have set the Developer-Option 'Force GPU-Acceleration' turned on. This leads to the error 'Bitmap too large to be uploaded into a texture'. If I check the view using isHardwareAccelerated(), it always returns false.

Is there any way to catch the OpenGL-Error 'Bitmap too large to be uploaded into a texture'?

like image 354
TSGames Avatar asked Aug 24 '12 11:08

TSGames


1 Answers

Bitmap is Composed of Pixels and you can count the number of pixels in the bitmap matrix ,, set a limit to your number of bitmap pixels . In OpenGl i can't say , but in general we can easily handle them , also there is a method
bitmap.inSampleSize();

if you assign

Bitmap.inSampleSize()= 1;

then the original bitmap pixel will be loaded.

Bitmap.inSampleSize()= 2;

then the pixels will become half of the original pixel.

Bitmap.inSampleSize() = 4

then the pixels will become 1/4 of the original pixel . This way you can reduce the size of the pixels in the bitmap , I have done this thing in my program , hopefully it will work with you too.

like image 171
Pranav Sharma Avatar answered Oct 10 '22 03:10

Pranav Sharma