这篇文章是承接上一篇文章的,如果您还没有看过,建议您点击查看。因为这个系列文章图片较多,而且篇幅较长,为了方便阅读,特意分开写了。这篇文章主题仍然是android UI相关,主要介绍android怎么优雅的操作图片,来拉升app颜值。本文主要会介绍几个实现强大酷炫功能的自定义ImageView,还会介绍几个图片滤镜/裁剪/压缩的库。所以这里不是纯UI相关,而是图片处理全家桶 _!,从产生原始图片(本文介绍了优雅截屏的开源库),到压缩图片(本文介绍了两种高效的图片压缩库),再到添加滤镜效果(本文介绍了两个提供多种滤镜效果的库),最后将图片加载到酷炫的ImageView上(介绍了两个自定义酷炫ImageView库)的全过程本文均有对应的介绍。这个系列的文章主要是整理我收集的酷炫常用的开源库,主要是酷炫自定义View库和一些酷炫功能库,所有的文章都汇总在这个Github库里,欢迎点击查看,如果觉得有用,欢迎star。
如果大家有好的UI相关开源项目推荐,欢迎在Github提issue或者发起PR,我会认真审核后合并;也欢迎在我的博客评论推荐。
最后,点击查看Github上的本项目
TODO 1.添加图片毛玻璃效果介绍;2.添加剪裁库介绍;3.添加图片轮播效果介绍;4.添加仿微信图片选择介绍;5.添加仿微博加载超长大图介绍;6.添加加载动态图介绍。如果篇幅过长,分成上下篇
声明:因为图片加载库imageloader,Picasso,Fresco,glide使用十分普遍,这里就没有再添加,如果对图片加载库还不是很了解,可以点击链接去github查看
CircleImageView
一个非常漂亮的圆形ImageView,保持了ImageView的所有特性,可以像原生ImageView一样直接用Picasso加载图片展示。
项目地址:https://github.com/hdodenhof/CircleImageView
效果图:
PhotoView
一个支持缩放功能的ImageView,通过多点触控或者双击都可以实现缩放效果。
项目地址:https://github.com/chrisbanes/PhotoView
效果图:
rebound
Facebook出品,必属精品。这个库不是一个控件库,而是一个功能库,实现了点击图片,像按压弹簧一样的效果;点击图片之后,图片会先缩小,再放大,效果非常绚丽漂亮。
项目地址:http://facebook.github.io/rebound/
效果图:
InstaCapture
这个库严格说起来和图片关系不大,这是一个强大的通过一行代码实现截屏的功能的库,而且可以指定当前activity截屏不包含哪些具体view组件,而且可以和当下流行的RXJava结合使用,非常简单易用,截屏之后的文件怎么处理就随便了,通常截屏文件我们还是要加载成位图显示的,所以先放在图片这里。
项目地址:https://github.com/tarek360/InstaCapture
效果图:
PicassoFaceDetectionTransformation
这是一个和Picasso配合使用的图片剪裁库,特点就是自带面部识别,会把脸部剪裁到中间。
项目地址:https://github.com/aryarohit07/PicassoFaceDetectionTransformation
效果图:
原图:
两种剪裁效果:左边的是居中剪裁,右边的是面部居中剪裁
Luban
这又是一个功能库,实现高效率的无损图片压缩功能,作者对比了使用该库压缩和使用微信压缩的压缩比例,发现压缩效果和微信差不多!这是相当逆天的效果!有了这个库,其它的压缩库基本可以放一边了!而且作者新增加了时下火热的RXJava调用方式,简直完美!
项目地址:https://github.com/Curzibn/Luban
效果图:和微信压缩效果对比
内容 | 原图 | Luban | |
---|---|---|---|
截屏 720P | 720*1280,390k | 720*1280,87k | 720*1280,56k |
截屏 1080P | 1080*1920,2.21M | 1080*1920,104k | 1080*1920,112k |
拍照 13M(4:3) | 3096*4128,3.12M | 1548*2064,141k | 1548*2064,147k |
拍照 9.6M(16:9) | 4128*2322,4.64M | 1032*581,97k | 1032*581,74k |
滚动截屏 | 1080*6433,1.56M | 1080*6433,351k | 1080*6433,482k |
Compressor
又一个无损图片压缩处理库,这个库可能没有上面那个库厉害,但是这个库可以和RXJava配合使用,实现处理链式化,所以如果是RXJava深度用户的话,可以去看看。
项目地址:https://github.com/zetbaitsu/Compressor
AndroidPhotoFilters
这叒是一个功能库,实现了灵活多样的滤镜效果,相当漂亮。
效果图:
MagicCamera
一个包含美颜等40余种实时滤镜的相机库,实现的是一个完整的照相机功能,可进行拍照、录像和图片修改。个人来说不喜欢这种杂合功能较多的库,我一向认为越小越精致,所以我一般不会使用这种库。但是可以学习里面的功能。
项目地址:https://github.com/wuhaoyu1990/MagicCamera
效果图:
这次先介绍这么多,这个项目我会持续更新,欢迎在我的Github watch/star。最后欢迎大家讨论,如果觉得不错,随手点个喜欢,或者去我的Github点个star,我可能会开心好几天 Y(_)Y,谢谢大家!
如果喜欢这个系列的文章,欢迎阅读下一篇--
还在羡慕微信/微博的图片处理?-android酷炫图片处理(下)