2

私のAndroidアプリでは、次のコードを使用しています。

BitmapRegionDecoder decoder;
...
decoder = BitmapRegionDecoder.newInstance(myStream, false);
...
int width = -1, height = -1, left = -1, top = -1;
...
Log.d("GDA", left + " " + top + " " + width + " " + height);
Rect re = new Rect(left, top, width, height);
Log.d("GDA", re.toString());
if(decoder != null)
    region = decoder.decodeRegion(re, null);

すべてがスマートフォンと7"タブレットでうまく機能しますが、10"タブレットでは(SamsungGT10.1とAcerA501でテストしました)次のエラーが発生しました。

1152 1728 2304 2592
Rect(1152, 1728 - 2304, 2592)
java.lang.NullPointerException
    at android.graphics.BitmapRegionDecoder.decodeRegion(BitmapRegionDecoder.java:399)

解決策が見つかりません。誰かが同じ問題を抱えていましたか?助言がありますか?

4

1 に答える 1

6

解決:

「region=decode.decodeRegion(re、null);」は使用しないでください。たとえば、次のように使用します。

BitmapFactory.Options options = new BitmapFactory.Options();
region = decoder.decodeRegion(re, options);

それは動作し、Galaxy Tab 10.1Android4.0.xをチェックしました

于 2013-06-29T15:29:21.320 に答える