很无语的事情,昨天碰到了200x1000的位图,然后我把这个位图用
- Java code
public static Bitmap preScaleBitmap(Bitmap temp, float drawScale) { float scaleWidth = DataManager.deviceWidth - 20; // float scaleHeight=(int)((DataManager.deviceWidth-20)*drawScale); float scale = scaleWidth / temp.getWidth(); Matrix matrix = new Matrix(); matrix.postScale(scale, scale); // matrix.postScale(0.5f, 0.5f); Bitmap temp2 = Bitmap.createBitmap(temp, 0, 0, temp.getWidth(), temp.getHeight(), matrix, true); return temp2; }
这个函数拉到了手机屏幕的宽度-20px,长度也按这宽度增的比例进行的。 我手机用的480x800,如此的话,这个图片还是要滚3个屏幕才能看完。但是在滚动的过程中经常会出现挂掉~有没有什么好的方法处理这个图片的显示啊? 设计要求是拉到屏幕宽度,高度按宽度拉伸比例走~
------解决方案--------------------
Out of memory处理bitmap经常遇到的,没啥好的解决方案
------解决方案--------------------
一定要一次显示这么大一张图片吗?
我觉得这张图片太大了。。。还是分成几张显示吧。。。
------解决方案--------------------
要获得一张放大的图片,不一定非得Bitmap.createBitmap。。。
可以drawBitmap的时候,改变Matrix就行了。。。
我有一张960X854的图片,无论怎么缩放都不会出问题。。。
------解决方案--------------------
4楼说的对