Android实现旋转,放大,缩小图片的方法

本文实例讲述了Android实现旋转,放大,缩小图片的方法。分享给大家供大家参考,具体如下:

项目中需要做到一个预览图片的功能

最初设想自定义个一个view,在onDraw中用的是生成新的Bitmap,来放大,缩小

但由于手机内存是有限制的,在放大几倍以后,就会core掉。

后面直接选用imageview来完成此项任务,很遗憾,虽然不会重复生成bitmap导致core掉,但是imageview的大小限制是图片无法再放大或放大也只能在这个区域中。

最后选定用 当然  Drawable来做了

private Drawable image;
private int picWidth;
private int picHeight;
@Override
protected void onDraw(Canvas canvas) {
  super.onDraw(canvas);
  //图片缩放使用 picwidth,picheight来控制
  int l = (getWidth() - picWidth) / 2;
  int r = (getWidth() + picWidth) / 2;
  int t = (getHeight() - picHeight) / 2;
  int b = (getHeight() + picHeight) / 2;
  image.setBounds(l, t, r, b);
  canvas.rotate(rotateDegre, getWidth() / 2, getHeight() / 2); //旋转图片
  image.draw(canvas);
}

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android图形与图像处理技巧总结》、《Android开发入门与进阶教程》、《Android调试技巧与常见问题解决方法汇总》、《Android多媒体操作技巧汇总(音频,视频,录音等)》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》

希望本文所述对大家Android程序设计有所帮助。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。