本文实例讲述了Android实现旋转,放大,缩小图片的方法。分享给大家供大家参考,具体如下:
项目中需要做到一个预览图片的功能
最初设想自定义个一个view,在onDraw中用的是生成新的Bitmap,来放大,缩小
但由于手机内存是有限制的,在放大几倍以后,就会core掉。
后面直接选用imageview来完成此项任务,很遗憾,虽然不会重复生成bitmap导致core掉,但是imageview的大小限制是图片无法再放大或放大也只能在这个区域中。
最后选定用 当然 Drawable来做了
private Drawable image;private int picWidth;private int picHeight;@Overrideprotected 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程序设计有所帮助。
新闻热点
疑难解答