一起Talk Android吧(第五百零七回:图片滤镜ImageFilterView)
Posted talk_8
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一起Talk Android吧(第五百零七回:图片滤镜ImageFilterView)相关的知识,希望对你有一定的参考价值。
文章目录
各位看官们大家好,上一回中咱们说的例子是"如何调整组件在约束布局中的角度",这一回中咱们说的例子是" 图片滤镜ImageFilterView"。闲话休提,言归正转, 让我们一起Talk android吧!
背景介绍
我们在前面章回中介绍了如何调整组件在约束布局中的角度,因此也想到了一个可以调整角度的组件:ImageFilterView
.它是Android后期推出的组件,我们可以把它
当作ImageView
组件的加强版。本章回中将介绍它的使用方法。
功能介绍
ImageFilterView
组件和constraintlayout2.0
一起推出,主要用来对图片做过滤,(相当于是滤镜效果)。除此之外它还可以调整图片为圆角图片,对图片进行缩
放、旋转、平移。接来我们分别介绍这些功能。
图片滤镜
ImageFilterView
组件的主要功能就是对图片做过滤,通俗点讲就是把两张图片叠加在一起,并且控制叠加后的颜色深浅度,进而实现滤镜效果。要实现滤镜效果需要使
用本组件的三个属性,详细如下:
src
属性是组件自身显示的图片,可以看作是背景层的图片;altSrc
属性是组件上层显示显示的图片,可以看作是前台显示的图片,默认不显示,因为它的透明度为0;crossfade
属性用来调节altSrc中图片的透明度,数值从0-1.默认值为0,表示全透明,1表示不透明;
下面是一个示例代码,请大家参考,同时希望大家自己去实践,真正体验一下滤镜效果,这是文字无法表达的内容。
<androidx.constraintlayout.utils.widget.ImageFilterView
android:src="@drawable/background"
app:altSrc="@drawable/foreground"
app:crossfade="0.9"/>
图片圆角
ImageFilterView
组件可以对图片做圆角处理,其实这相当于在图片上层加了一个不透明的圆角,可以看作是滤镜的一种。在没有此组件前,我们只能通过自定义View
来完成完成图片的圆角功能,实现此功能的思路就是在画图片的时候添加一个圆角图片。本组件实现圆角功能只需要两个属性,详细如下:
app:round="100dp" //通过长度来控制圆角的弧度
app:roundPercent="4" //通过百分比来控制圆角的弧度
注意:这两个属性中的任意一个都可以调整图片的圆角,在实际使用时只需要二选一即可,不能把这两个属性一起使用.
图片缩放
ImageFilterView
组件可以对图片做缩放处理,实现此功能只需要使用下面的属性就可以:
app:imageZoom="1.5" //该属性的值为浮点数值
图片旋转
ImageFilterView
组件可以对图片做旋转处理,实现此功能只需要使用下面的属性就可以:
app:imageRotate="30" //该属性值为旋转的角度
图片旋转时以12点钟方向为0度,顺时针旋转,角度逐渐增大;
图片平移
ImageFilterView
组件可以对图片做平移处理,实现此功能只需要使用下面的属性就可以:
app:imagePanX="300" //属性值为int数值
app:imagePanY="300" //属性值为int数值
我在实践中发现平移图片时,只有X方向有效果,Y方向没有效果;注意:平移是相对原图的x,y进行的,特别是旋转后能看出来效果。
看官们,关于"图片滤镜ImageFilterView"的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!
以上是关于一起Talk Android吧(第五百零七回:图片滤镜ImageFilterView)的主要内容,如果未能解决你的问题,请参考以下文章
一起Talk Android吧(第四百零七回:绘制几何图形)
一起Talk Android吧(第五百零八回:多层布局功能)
一起Talk Android吧(第五百二十七回:监听网络状态)
一起Talk Android吧(第五百一十七回:绘制波浪效果)