java.lang.illegalargumentexception: width and height must be >0

mic47 2011-07-25 05:13:58
我知道是什么意思,关键是我的程序中,width和height是大于0的啊。源码如下:
Matrix mtx=new Matrix();
degree=Math.toDegrees(Math.atan(yy/xx));
mtx.setRotate((float)degree, (float)x+bm.getWidth()/2, (float)y+bm.getHeight()/2);
Bitmap bm1=Bitmap.createBitmap(bm, 0, 0, bm.getWidth(), bm.getHeight(), mtx, false);//这句出错
canvas.drawBitmap(bm1,(float) x, (float)y, paint);
...全文
2684 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
nuaa123lhk 2012-04-25
  • 打赏
  • 举报
回复
在mtx.setRotate前面加上这一句。

mtx.reset();
z3168504 2011-11-03
  • 打赏
  • 举报
回复
求解答,bitmap作matrix缩放时提示width and height must be > 0 发现matrix矩阵中存在一个负数,何解?
czhangping 2011-08-25
  • 打赏
  • 举报
回复
楼主,解决了吗,我也遇到了这个问题了
求给力
fontlose 2011-08-03
  • 打赏
  • 举报
回复
atan有可能返回负数 要取绝对值
degree=Math.toDegrees(Math.abs(Math.atan(yy/xx)));
Potter 2011-08-03
  • 打赏
  • 举报
回复
你的mtx中存在负数值...打个断点,调试到mtx,参看其中的值,就知道问题出在哪里了
mic47 2011-08-03
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 fontlose 的回复:]

atan有可能返回负数 要取绝对值
degree=Math.toDegrees(Math.abs(Math.atan(yy/xx)));
[/Quote]

必须要有负数啊,没负数,atan取得值就不完整了。

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧