java.lang.IllegalArgumentException:创建位图时x + width必须是< = bitmap.width()

时间:2015-09-19 05:50:03

标签: java android css bitmap

我正在根据它的方向旋转自定义GoogleMap标记。 我的标记是20x20 PNG图像,如下所示。 enter image description here

float rotation=loc1.bearingTo(loc2);
            Matrix matrix=new Matrix();
            matrix.postRotate(rotation);
            Bitmap original=BitmapFactory.decodeResource(getResources(), R.drawable.dark_arrow_20);
            Bitmap arrowHead=Bitmap.createBitmap(original, 0, 0, 40, 40, matrix, true);
            final BitmapDescriptor bitmapDescriptor=BitmapDescriptorFactory.fromBitmap(arrowHead);
            Marker marker = googleMap.addMarker(new MarkerOptions().position(new LatLng(lat1, lng1)).icon(bitmapDescriptor).title(vehicleName).snippet("Known @ " + timing + "," + strDate11));
            marker.setAnchor(0.5f, 0.5f);

它像手机一样在魅力上运作。输出结果如下所示。 enter image description here

但是当我在高分辨率平板电脑上运行我的应用程序时,它会崩溃。 堆栈跟踪是

09-19 11:10:13.736    9079-9079/? E/AndroidRuntime? FATAL EXCEPTION: main
Process: com.realtech.securetracknew, PID: 9079
java.lang.IllegalArgumentException: x + width must be <= bitmap.width()
        at android.graphics.Bitmap.createBitmap(Bitmap.java:673)
        at com.realtech.securetracknew.MainPage.a(Unknown Source)
        at com.realtech.securetracknew.ab.onClick(Unknown Source)
        at android.view.View.performClick(View.java:4466)
        at android.view.View$PerformClick.run(View.java:18833)
        at android.os.Handler.handleCallback(Handler.java:808)
        at android.os.Handler.dispatchMessage(Handler.java:103)
        at android.os.Looper.loop(Looper.java:193)
        at android.app.ActivityThread.main(ActivityThread.java:5299)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:515)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:836)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:652)
        at dalvik.system.NativeStart.main(Native Method)

我不知道导致错误的原因。有人请帮忙。

0 个答案:

没有答案