当前位置: 首页 > news >正文

一起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.ImageFilterViewandroid: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)

文章目录背景介绍功能介绍图片滤镜图片圆角图片缩放图片旋转图片平移各位看官们大家好&#xff0c;上一回中咱们说的例子是"如何调整组件在约束布局中的角度",这一回中咱们说的例子是" 图片滤镜ImageFilterView"。闲话休提&#xff0c;言归正转&#xff0c…...

Java 解释器和即时解释器(JIT)之间的区别

区别是&#xff1a; 翻译 .class &#xff08;字节码文件&#xff09; 的粒度和方式不同 解释器是一个逐条解释并执行字节码指令的组件&#xff0c;每次**只翻译一条**指令并执行&#xff0c;然后再翻译下一条指令。 它的翻译粒度是一条指令&#xff0c;而且是按需翻译&#x…...

Acwing 蓝桥杯 第二章 二分与前缀和

今天来补一下之前没写的总结&#xff0c;题是写完了&#xff0c;但是总结没写感觉没什么好总结的啊&#xff0c;就当打卡了789. 数的范围 - AcWing题库思路&#xff1a;一眼二分&#xff0c;典中典先排个序&#xff0c;再用lower_bound和upper_bound维护相同的数的左界和右界就…...

CSDN原力增长规则解读 实测一个月

CSDN原力越来越难了&#xff0c;当然&#xff0c;这对生态发展来说也是好事。介绍下原力增长有哪些渠道吧。发布原创文章&#xff1a;10分/次&#xff0c;每日上限为15分、2篇回答问题&#xff1a;1分/次&#xff0c;每日上限2分&#xff0c;2回答发动态&#xff1a;1分/次&…...

HDMI协议介绍(三)--InfoFrame

目录 Auxiliary Video information (AVI) InfoFrame AVI InfoFrame包结构 Header Body 举个例子 附录 Audio InfoFrame Audio InfoFrame包结构 Header Body Vendor Specific InfoFrame Vendor Specific InfoFrame包结构 Header Body AVI/AUDIO/VSI Infoframe都…...

【RocketMQ】源码详解:Broker端消息储存流程、消息格式

消息存储流程 入口&#xff1a; org.apache.rocketmq.remoting.netty.NettyRemotingAbstract#processRequestCommand org.apache.rocketmq.broker.processor.SendMessageProcessor#asyncProcessRequest 消息到达broker后会经过netty的解码、消息处理器等&#xff0c;最后根据…...

IoT项目系统架构案例2

项目背景 1.这个项目是对之前的案例的升级改造参考&#xff1a;IoT项目系统架构案例_iot案例_wxgnolux的博客-CSDN博客2.基于方案1的项目实施过程中碰到的问题,对硬件设备标准化的理念及新的功能需求(如根据天气预报温度调水温,APP界面可操作性优化等)•采用目前IoT主流厂商的架…...

Vue echarts封装

做大屏的时候经常会遇到 echarts 展示&#xff0c;下面展示在 Vue2.7 / Vue3 中对 echarts &#xff08;^5.4.0&#xff09; 的简单封装。 文章首发于https://blog.fxss.work/vue/echarts封装.html&#xff0c;样例查看 echarts 封装使用 props 说明 参数说明类型可选值默认…...

蓝桥杯入门即劝退(二十二)反转字符(不走寻常路)

欢迎关注点赞评论&#xff0c;共同学习&#xff0c;共同进步&#xff01; ------持续更新蓝桥杯入门系列算法实例-------- 如果你也喜欢Java和算法&#xff0c;欢迎订阅专栏共同学习交流&#xff01; 你的点赞、关注、评论、是我创作的动力&#xff01; -------希望我的文章…...

数据仓库Hive

HIve介绍 Hive是建立在Hadoop上的数据仓库基础构架。它提供了一系列的工具&#xff0c;可以用来进行数据提取转化加载&#xff0c;可以简称为ETL。 Hive 定义了简单的类SQL查询语言&#xff0c;称为HQL&#xff0c;它允许熟悉SQL的用户直接查询Hadoop中的数据&#xf…...

嵌入式 STM32 步进电机驱动,干货满满,建议收藏

目录 步进电机 1、步进电机驱动原理 2、步进电机驱动 3、步进电机应用 1、第一步&#xff1a;初始化IO口 2、设置行进方式 四、源码 步进电机 步进电机被广泛应用于ATM机、喷绘机、刻字机、写真机、喷涂设备、医疗仪器及设备、计算机外设及海量存储设备、精密仪器、工业…...

详讲函数.2.

目录 5. 函数的嵌套调用和链式访问 5.1 嵌套调用 5.2 链式访问 小结&#xff1a; 6. 函数的声明和定义 6.1 函数的声明&#xff1a; 6.2 函数的定义&#xff1a; 5. 函数的嵌套调用和链式访问 函数和函数之间可以根据实际的需求进行组合的&#xff0c;也就是互相调用的…...

行测-判断推理-图形推理-位置规律-旋转、翻转

短指针每次逆时针旋转60&#xff08;排除法选C走人&#xff09;长指针每次顺时针旋转120选C左上菱形每次顺时针旋转90&#xff08;排除C D&#xff09;右上每次旋转180&#xff08;选B走人&#xff09;左下每次保持不变右下每次逆时针旋转90选B左上和右上为左右翻转&#xff0c…...

linux shell 入门学习笔记15 shell 条件测试

概念 shell的条件测试目的是得出真和假。 shell 提供的条件测试语法 test 命令 [] 中括号命令 语法*&#xff1a; test条件测试 test命令用来评估一个表达式&#xff0c;他的结果是真&#xff0c;还是假&#xff0c;如果条件为真&#xff0c;那么命令执行状态结果就为0&…...

Apollo(阿波罗)分布式配置安装详解

Apollo&#xff08;阿波罗&#xff09; Apollo&#xff08;阿波罗&#xff09;是携程框架部门研发的分布式配置中心&#xff0c;能够集中化管理应用不同环境、不同集群的配置&#xff0c;配置修改后能够实时推送到应用端&#xff0c;并且具备规范的权限、流程治理等特性&#…...

Vue3之组件

何为组件 组件化的概念已经提出了很多年了&#xff0c;但是何为组件呢&#xff1f;组件有啥优势&#xff1f;本文将会做出解答&#xff0c;首先我们需要弄清楚何为组件。在VUE的官网中的解释是&#xff1a; 组件允许我们将 UI 划分为独立的、可重用的部分&#xff0c;并且可以对…...

【网络】套接字 -- UDP

&#x1f941;作者&#xff1a; 华丞臧. &#x1f4d5;​​​​专栏&#xff1a;【网络】 各位读者老爷如果觉得博主写的不错&#xff0c;请诸位多多支持(点赞收藏关注)。如果有错误的地方&#xff0c;欢迎在评论区指出。 推荐一款刷题网站 &#x1f449; LeetCode刷题网站 文章…...

Lambda原理及应用

Lambda原理及应用 Lambda介绍 Lambda 是 JDK8 以后版本推出的一个新特性&#xff0c;也是一个重要的版本更新&#xff0c;利用 Lambda 可以简化内部类&#xff0c;可以更方便的进行集合的运算&#xff0c;让你的代码看起来更加简洁,也能提升代码的运行效率。 Lambda语法 非…...

运动耳机推荐、最值得入手的运动耳机清单共享

现在市面上各式各样的运动蓝牙耳机着实让人挑花了眼,怎样才能从纷繁复杂的市场中挑选出专业性、安全性、舒适性等各个方面都做地可圈可点的运动蓝牙耳机可真不是一件易事啊&#xff0c;甚至连不少老朋友都会踩坑&#xff0c;为了能让大家挑到真正的运动蓝牙耳机&#xff0c;为此…...

c盘爆满--如何清理电脑C盘

问题 c盘饱满很多天了&#xff0c;今天终于忍无可忍&#xff0c;开始展开对c盘的处理 c盘的基本处理有两步&#xff0c; 第一步&#xff0c;电脑系统清理 1,c盘右键属性&#xff0c;有个磁盘清理&#xff0c;好像是系统更新的一些缓存资源&#xff0c;可以直接清理 当然这只…...

终极分布式编程框架全攻略:从零掌握Awesome BigData核心技术

终极分布式编程框架全攻略&#xff1a;从零掌握Awesome BigData核心技术 【免费下载链接】awesome-bigdata A curated list of awesome big data frameworks, ressources and other awesomeness. 项目地址: https://gitcode.com/gh_mirrors/aw/awesome-bigdata 在数据爆…...

Azure OpenAI代理:无缝迁移OpenAI应用到Azure云服务

1. 项目概述如果你正在使用或开发基于OpenAI官方API的应用&#xff0c;比如各种ChatGPT Web UI、LangChain应用&#xff0c;但同时又想利用微软Azure OpenAI Service在合规性、稳定性、网络延迟或成本控制上的优势&#xff0c;那么你大概率会遇到一个头疼的问题&#xff1a;这两…...

PortProxyGUI:Windows端口转发图形化管理终极指南

PortProxyGUI&#xff1a;Windows端口转发图形化管理终极指南 【免费下载链接】PortProxyGUI A manager of netsh interface portproxy which is to evaluate TCP/IP port redirect on windows. 项目地址: https://gitcode.com/gh_mirrors/po/PortProxyGUI 在Windows网络…...

使用 llama.cpp + MTP 分支实现 1.5 倍 Token 输出加速实战指南

使用 llama.cpp MTP 分支实现 1.5 倍 Token 输出加速实战指南 摘要&#xff1a;本文详细介绍如何通过 llama.cpp 的 MTP&#xff08;Multi-Token Prediction&#xff09;PR 分支&#xff0c;配合 Qwen3.6-27B-MTP GGUF 量化模型&#xff0c;实现推理时每秒输出 token 数量翻倍…...

Gmail只读命令行工具gcli:云端自动化邮件查询与SSH隧道授权方案

1. 项目概述&#xff1a;一个专为自动化场景设计的Gmail只读命令行工具 如果你和我一样&#xff0c;经常需要在没有图形界面的云服务器上处理邮件查询任务&#xff0c;那你一定对Gmail API的授权流程深恶痛绝。传统的OAuth流程要求你在浏览器里点来点去&#xff0c;但服务器上哪…...

Arduino与MAX4080S联手:打造高精度微安级电流监测方案

1. 为什么需要微安级电流监测&#xff1f; 在开发低功耗设备时&#xff0c;电流监测就像给设备装上了"健康监测仪"。我做过一个智能手环项目&#xff0c;发现待机状态下整机电流只有23微安&#xff0c;用普通万用表根本测不准&#xff0c;数值跳得跟心电图似的。这时…...

在Nodejs后端服务中集成Taotoken实现稳定高效的多模型调用

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 在Nodejs后端服务中集成Taotoken实现稳定高效的多模型调用 对于构建AI功能的后端Node.js开发者而言&#xff0c;直接对接单一模型供…...

如何零成本测试ZPL标签?Virtual ZPL Printer终极解决方案揭秘

如何零成本测试ZPL标签&#xff1f;Virtual ZPL Printer终极解决方案揭秘 【免费下载链接】Virtual-ZPL-Printer An ethernet based virtual Zebra Label Printer that can be used to test applications that produce bar code labels. 项目地址: https://gitcode.com/gh_mi…...

心灵鸡汤01 - 人生九不争

一、跟父母&#xff0c;不争口舌&#xff1b; 二、跟朋友&#xff0c;不争面子&#xff1b; 三、跟领导&#xff0c;不争高低&#xff1b; 四、跟小人&#xff0c;不争道理&#xff1b; 五、跟伴侣&#xff0c;不争对错&#xff1b; 六、跟亲戚&#xff0c;不争穷富&#xff1b…...

Claude Code与Cursor CLI集成:AI辅助编程工作流优化实践

1. 项目概述&#xff1a;Claude Code与Cursor CLI的桥梁如果你和我一样&#xff0c;日常开发中同时使用Claude Code和Cursor&#xff0c;并且对Composer 2的执行速度印象深刻&#xff0c;那么你很可能也面临过这样的困境&#xff1a;Claude Code在规划、分析和代码审查方面表现…...