最近项目中做了一个头像选择功能,没有使用系统自带的裁剪功能,自己写的图片裁剪,发现在裁剪全景图片时候出现了问题,无法正常显示,图片变成了黑色。
在ecplice中没有报错!!!打印出一条黄色警告语句:
Bitmap too large to be uploaded into a texture (440x2302, max=2048x2048)
从Android3.0 (API level 11)开始,Android的2D显示管道被被设计得更加支持硬加速了,并且程序默认支持加速,即
android:hardwareAccelerated="true".
硬件加速使用GPU承担了所有在View的canvas上执行的绘制操作。
硬件加速是个好东西,可以让ListView、WebView滑动的更流畅,但是也总是会出现一些莫名其妙的的问题。
1、edittext文件重叠1、直接关闭硬件加速
整个应用application:
<application
android:hardwareAccelerated="false"
。。。。。。>
单个activity:
<activity
android:hardwareAccelerated="false"
。。。。。。>
2、将图片分成不同的块,每次加载需要的块。
android提供了一个方法:
public void drawBitmap
(Bitmap bitmap, Rect src, RectF dst, Paint paint) |
public Bitmap
decodeRegion (Rect rect, BitmapFactory.Options options)
本文探讨了在Android开发过程中遇到的全景图片裁剪显示为黑色的问题,详细介绍了该问题出现的原因及其两种解决方案:关闭硬件加速和使用BitmapRegionDecoder进行图片分块加载。
5万+

被折叠的 条评论
为什么被折叠?



