android- java.lang.IllegalArgumentException: x 一定要小于 bitmap.width()

问题描述

java.lang.IllegalArgumentException: x 一定要小于 bitmap.width()
获取屏幕截图,用裁剪图片创建位图的时候出现了错误,

先看看我的代码吧:

View v1 = mKittyBGLayer.getRootView();    v1.setDrawingCacheEnabled(true);    Bitmap source = v1.getDrawingCache();    int width = source.getWidth();    int height = source.getHeight();    System.out.println(""vListView : -""+vListView.getWidth());    System.out.println(""hListView : -""+hListView.getHeight());    System.out.println(""Width : -""+width);    System.out.println(""Height : -""+height);    bitmap = Bitmap.createBitmap(source vListView.getWidth() 0 width height - hListView.getHeight());

日志也看一下:

11-01 11:00:31.419: I/System.out(1658): vListView :- 60        11-01 11:00:31.429: I/System.out(1658): hListView :- 60        11-01 11:00:31.429: I/System.out(1658): Width :- 480        11-01 11:00:31.429: I/System.out(1658): Height :- 320        11-01 11:00:31.429: D/AndroidRuntime(1658): Shutting down VM        11-01 11:00:31.429: W/dalvikvm(1658): threadid=1: thread exiting with uncaught exception  (group=0x40018560)        11-01 11:00:31.429: E/AndroidRuntime(1658): FATAL EXCEPTION: main        11-01 11:00:31.429: E/AndroidRuntime(1658): java.lang.IllegalArgumentException: x + width  must be <= bitmap.width()        11-01 11:00:31.429: E/AndroidRuntime(1658):     at android.graphics.Bitmap.createBitmap(Bitmap.java:410)        11-01 11:00:31.429: E/AndroidRuntime(1658):     at android.graphics.Bitmap.createBitmap(Bitmap.java:383)        11-01 11:00:31.429: E/AndroidRuntime(1658):     at com.appsehs.android.CUTECRAZYKITTENDRESSUPGAME.PhotoSortrActivity.takeScreenShot(PhotoSortrActivity.java:247)        11-01 11:00:31.429: E/AndroidRuntime(1658):     at com.appsehs.android.CUTECRAZYKITTENDRESSUPGAME.PhotoSortrActivity.onOptionsItemSelected(PhotoSortrActivity.java:274)        11-01 11:00:31.429: E/AndroidRuntime(1658):     at android.app.Activity.onMenuItemSelected(Activity.java:2205)

程序里面x < bitmap.getWidth也就是60 < 480

但是报错了

解决方案

Bitmap createBitmap (Bitmap source int x int y int width int height)
x + width must equal or less than source.getWidth() in your case 60 + 480 > 480 so error occur.

时间: 2024-09-27 10:03:44

android- java.lang.IllegalArgumentException: x 一定要小于 bitmap.width()的相关文章

Httpclient报错:java.lang.IllegalArgumentException: HTTP parameters may not be null

问题描述 我在Android上使用HttpClient的时候,Execute的时候提示有错误.错误log见下面.请问是什么问题?11-2421:39:22.546:W/System.err(30708):java.lang.IllegalArgumentException:HTTPparametersmaynotbenull11-2421:39:22.547:W/System.err(30708):atorg.apache.http.params.HttpProtocolParams.getUs

Could not lock surface java.lang.IllegalArgumentException

08-07 14:46:33.795: E/Surface(4927): dequeueBuffer failed (Invalid argument) 08-07 14:46:33.800: E/ViewRootImpl(4927): Could not lock surface 08-07 14:46:33.800: E/ViewRootImpl(4927): java.lang.IllegalArgumentException 08-07 14:46:33.800: E/ViewRootI

BottomSheetBehavior 之 java.lang.IllegalArgumentException: The view is not associated with BottomSheetBehavior

  AndroidRuntime: FATAL EXCEPTION: main Process: me.chunsheng.uberdriver, PID: 13674 java.lang.RuntimeException: Unable to start activity ComponentInfo{me.chunsheng.uberdriver/me.chunsheng.uberdriver.MainActivity}: java.lang.IllegalArgumentException:

java.lang.IllegalArgumentException 错误异常求解

问题描述 java.lang.IllegalArgumentException 错误异常求解 上面是代码的日志 求大神指点 解决方案 有一个方法传参或者是什么,参数类型错了 看看提示在哪一行 解决方案二: 解决spring的java.lang.IllegalArgumentException异常.hibernate中java.lang.IllegalArgumentException异常可能的原因

生成javadoc报错java.lang.IllegalArgumentException

问题描述 生成javadoc报错java.lang.IllegalArgumentException 绝对不是什么字符编码 path=%JAVA_HOME%in;(改成绝对路径也没用) CLASSPATH=E:JAVAjdk1.6.0_45lib 正在装入软件包 com.zpark.cms.service 的源文件... 正在装入软件包 com.zpark.cms.entity 的源文件... 正在装入软件包 com.zpark.cms.dao 的源文件... 正在构造 Javadoc 信息..

Eclipse报错java.lang.IllegalArgumentException: already added和jar mismatch

报错: java.lang.IllegalArgumentException: already added: Landroid/opengl/GLUES; jar mismatch!fix your dependencies 原因: 引用了facebook官方SDK同时在自己的工程里面有一个包名字com.facebook 导致这样的冲突 解决: 修改自己的包名,避免重复

Tomcat的异常 之 java.lang.IllegalArgumentException:Document base *** does not exist or is not a readable

这个异常是经常遇到的异常情况. Tomcat的异常 之 java.lang.IllegalArgumentException: Document base 有些刚开始使用的Tomcat的朋友会出现的问题,明明已经将某个web应用从tomcat下的webapps下移除了,为什么还会抛这样的异常呢? ? java.lang.IllegalArgumentException: Document base *** does not exist or is not a readable directory

java.lang.IllegalArgumentException: argument type mismatch

问题描述 我建了一个添加新生的表单,属性中有一个时间.我用的是My97DatePicker控件.我的ACTION是以下publicclassAddStudentActionextendsAction{privateManagerDAOmanagerDAO=null;publicAddStudentAction(){this.managerDAO=newManagerDAO();}publicActionForwardexecute(ActionMappingmapping,ActionFormf

Tomcat启动报错:java.lang.IllegalArgumentException: Can&amp;#39;t convert argument:null

一.发现问题为了避免导入的项目重名,我先修改了前一个项目的名称. 重新启动该项目至tomcat,报错:java.lang.IllegalArgumentException: Can't convert argument: null   二.发现问题因为MyEclipse在修改项目名时候,自动更新部署了web.xml文件 并且重新生成了xml文件的头部声明. 新增了java的命名把这个javaee去掉就可以了,一般情况下他会修改servlet的配置. <filter>      <filt