相关疑难解决方法(0)

BitmapFactory.decodeResource返回Android 2.2中的可变位图和Android 1.6中的不可变位图

我正在开发一个应用程序并在运行Android 2.2的设备上进行测试.在我的代码,我使用,我检索使用BitmapFactory.decodeResource位图的,我能够通过调用进行更改bitmap.setPixels()就可以了.当我在运行Android 1.6的朋友的设备上测试时,我IllegalStateException接到了电话bitmap.setPixels.在线文档说,IllegalStateException当位图不可变时,会抛出此方法.文档没有说明decodeResource返回不可变位图,但显然必须如此.

是否有不同的呼叫我可以从一个应用程序资源可靠地获得一个可变的位图,而不需要第二个Bitmap对象(我可以创建一个可变的一个同样大小并绘制成帆布包裹它,但这需要两个大小相等的位图使用的内存是我预期的两倍)?

java android bitmap

33
推荐指数
4
解决办法
5万
查看次数

setPixels出错

我正在尝试编辑图像.但我的setPixels出错了.

        picw = pic.getWidth();
        pich = pic.getHeight();
        picsize = picw*pich;        
        int[] pix = new int [picsize];
        pic.getPixels(pix, 0, picw, 0, 0, picw, pich);  
        pic.setPixels(pix,0,pic.getWidth(),0,0,pic.getWidth(),pic.getHeight());
Run Code Online (Sandbox Code Playgroud)

但我使用setPixels获得非法状态异常

Caused by: java.lang.IllegalStateException
  at android.graphics.Bitmap.setPixels(Bitmap.java:878)
  at com.sandyapps.testapp.testapp.onCreate(testapp.java:66)
Run Code Online (Sandbox Code Playgroud)

android image-processing

23
推荐指数
3
解决办法
2万
查看次数

标签 统计

android ×2

bitmap ×1

image-processing ×1

java ×1