Android图库功能的实现

手机自带的图库功能是怎样实现图片的编排裁剪的呢?

阅读 5.3k
3 个回答

这个是fork android-crop改的 https://github.com/jjz/android-crop,主要思路是:
1.用ImageView显示bitmap记录bitmap的缩放参数
2.imageView上面覆盖一层View(HighlightView)
3.覆盖的HighlightView是可以移动的ImageViewTouchBase
4.根据HighlightView的大小可以算成要参数的bitmap的范围。
5.用这个范围在和缩放比例在原有的bitmap上面进行裁剪
6.得到的就是裁剪之后的图

参见系统自带图库的源码 /packages/apps/Gallery2/src/com/android/gallery3d/filtershow/crop/CropActivity.java 这个activity即是我们看到的系统裁剪界面,参见这个类下的BitmapIOTask方法,里边使用ExifInterface类下相关方法进行照片角度判断,Bitmap和Matrix配合进行旋转操作。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题