图片旋转

killpoer3 2012-05-02 03:51:45
我自定义了一个View,然后在public void onDraw(Canvas canvas) 里面调用
matrix.postRotate(30);

bmp=Bitmap.createBitmap(bmp,0,0,bmp.getWidth(), bmp.getHeight(),matrix,true);

canvas.drawBitmap(bmp, 20, 15, null);

这样造成的现象就是图片会不断向右下角移动,但是把matrix.postRotate(30)改成matrix.postRotate(90) 90度之后是正常的,不知道各位遇见过这样的现象吗?
...全文
121 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
CNnumen 2012-05-03
  • 打赏
  • 举报
回复
matrix是成员变量么? 如果是, 别用postRotate(), 这个函数会不停地和上次的matrix相乘, 应该用setRotate(angle)
killpoer3 2012-05-03
  • 打赏
  • 举报
回复
和postRotate没关系,是旋转之后图片的大小有变化造成的
killpoer3 2012-05-02
  • 打赏
  • 举报
回复
确实是不断变化的, 我用
bmp = Bitmap.createScaledBitmap(bmp, 86, 86, true);
之后,发现虽然不跑位了,但是图片越来越小。。。又迷惑了。。。打印出来的宽高也是86啊,不知道为什么了
danielinbiti 2012-05-02
  • 打赏
  • 举报
回复
你看看你的bmp,应该是不断在变。
killpoer3 2012-05-02
  • 打赏
  • 举报
回复
但是我已经在参数里面动态 bmp.getWidth(), bmp.getHeight() 了啊
danielinbiti 2012-05-02
  • 打赏
  • 举报
回复
你这么着图片对角会比原图的高宽大,估计是这造成的旋转。
这里没环境,没法试。

80,351

社区成员

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

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