做安卓开发的伙伴儿一定或多或少地都用到过 Image Loader 领域三大领头羊级别的开源库:Glide,Fresco,Picasso。怎么用就不用我在这里啰哩啰嗦了,各自的文档写得非常清楚。今天在[Awesome-Some]里添加了三大 Transformations 图片处理辅助库,顺便也在公众号里给大家安利一波。
圆角、圆形、高斯模糊、蒙板、裁剪等等,都是 UI 设计里图片常见的显示方式,而这里要介绍的三大开源辅助库便可以轻松帮你做到这些,并且分别和 Glide、Fresco、Picasso 一一结合使用,只需要额外添加一句代码即可,非常简单。他们分别是:
Glide Transformations
Fresco Processors
Fresco Processors
这里我以[Glide Transformations]为例,配合[Glide]库展示一些安卓开发中常见的图片处理效果,示例代码和处理结果分别如下:
原图mResultIv = (ImageView) findViewById(R.id.iv_result); Glide.with(this).load(R.mipmap.ic_image_sample)
.into(mResultIv);
查看图片模糊
mResultIv = (ImageView) findViewById(R.id.iv_result);Glide.with(this).load(R.mipmap.ic_image_sample)
.bitmapTransform(new BlurTransformation(this))
.into(mResultIv);
查看图片圆角
Glide.with(this).load(R.mipmap.ic_image_sample)
.bitmapTransform(new RoundedCornersTransformation(this, 24, 0, RoundedCornersTransformation.CornerType.ALL))
.into(mResultIv);
查看图片遮盖
mResultIv = (ImageView) findViewById(R.id.iv_result);Glide.with(this).load(R.mipmap.ic_image_sample)
.bitmapTransform(new MaskTransformation(this, R.mipmap.ic_launcher))
.into(mResultIv);
查看图片灰度
mResultIv = (ImageView) findViewById(R.id.iv_result);Glide.with(this).load(R.mipmap.ic_image_sample)
.bitmapTransform(new GrayscaleTransformation(this))
.into(mResultIv);
查看图片圆形
Glide.with(this).load(R.mipmap.ic_image_sample)
.bitmapTransform(new CropCircleTransformation(this))
.into(mResultIv);
查看图片More
这里我只是抛砖引玉,介绍了部分常见图片处理,而这三大辅助库的强大之处还在于支持 [GPUImage],实现诸如马赛克、明暗度等更多滤镜处理:
ToonFilterTransformation
SepiaFilterTransformation
ContrastFilterTransformation
InvertFilterTransformation
PixelationFilterTransformation
SketchFilterTransformation
SwirlFilterTransformation
BrightnessFilterTransformation
KuwaharaFilterTransformation
VignetteFilterTransformation
这次推荐到此结束,想了解更多 GitHub 安卓领域的开源资源,记得关注[Awesome-Android],第一批整理初步完成,并且每天都在更新中。如果你有好的资源,一定要记得提交哈, issue 或者 request 都行,贡献你的一份力量。站在巨人的肩膀上,方能看得更远,走得更高!
Star 地址:
https://github.com/Mike-bel/Awesome-Android
公号推荐
专注程序员的编程知识,原创教程,最新动态等。现在是编程的黄金时代,是程序员的ShowTime。我们不是码农,不是屌丝,也不是程序猿,我们是程序员联盟。
热门推文
★ Android 阅读 Office 文档,所有你能想到的解决方案都在这啦
★ [译]开发安卓Apps,我所努力学习到的三十多条宝贵经验
★ 这「非常7+1」条小贴士,助你Coding水平再提一阶!
★ 推荐|一张思维导图,告诉你Android新手如何快速入门
阅读原文 Star【Awesome-Android】