【Android学习笔记】图形与图像处理(动态处理)

这篇具有很好参考价值的文章主要介绍了【Android学习笔记】图形与图像处理(动态处理)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

逐帧动画

  • AnimationDrawable与逐帧动画。在元素中定义子元素,表示动画的全部帧,并制定持续时间即可。

<animation-list xmlns:android="“android:onshot=true/false> <item
android:drawable=”@package_name:drawable/resource_name"android:duration=“integer”/>
</animation-list>

补间动画

  • android使用Animation代表抽象的动画类

    • AlphaAnimation:透明度改变的动画,指定开始透明度、结束透明度、动画持续时间

    • ScaleAnimation:大小缩放的动画,指定缩放中心、开始缩放比、结束缩放比、动画持续时间

    • TranslateAnimation:位移变化的动画,指定开始位置、结束位置、动画持续时间

    • RotateAnimation:旋转动画,旋转轴心、开始旋转角度、结束旋转角度

    • 通过interpolator指定动画运行期间,动态补入多少帧,在哪些时刻补入。能够指定动画的变化速度。

  • interpolator的实现类

    • LinearInterpolator:均匀速度改变

    • AccelerateInterpolator:加速

    • AccelerateDecelerateinterpolator:中间加速

    • CycleInterpolator:循环播放n次,变化速度正玄曲线

    • DecelerateInterpolator:减速

  • 自定义补间动画

    • 继承Animation,重写抽象基类的interpolatedTime时间进行比方法和Transformation补间动画变形程度。

    • Transformation代表了对图片或者视图的变形程度,封装了一个Matrix对象用来对图形进行位移、倾斜、旋转等变换。封装了一个Camera对象,进行三维空间变换。getMatrix():将Camera所有变换应用到matrix上

    • getMatrix():Camera对应变换应用到matrix上

    • rotateX():X轴旋转

    • rotateY():Y轴旋转

    • rotateZ():Z轴旋转

    • translate():目标组件在三维空间内变换

    • applyToCanvas():应用到场景当中

属性动画

  • 属性变化可以定义任意性质的变化。可以针对任何对象执行的动画,需要制定动画持续时间、动画的插值方式、动画的重复次数、重复行为、动画集、帧刷新率

  • 属性动画的API

    • Animator:提供了创建属性动画的基类。

    • ValueAnimator:属性动画主要的时间引擎,负责计算各个帧的属性值,定义了属性动画的绝大部分核心功能。

    • ObjectAnimator:对指定对象的属性执行动画,是ValueAnimator的子类

    • AnimatorSet:组合多个Animator,并制定多个Animator的播放次序。

    • IntEvaluator:计算int属性值的计算器。

    • FloatEvaluator:计算float类型的计算器

    • ArgbEvaluator:计算十六进制颜色值的计算器

    • TypeEvaluator:计算器接口。自定义计算器。

  • ValueAnimator创建属性动画的步骤:

    1. 调用ofInt() ofFloat() ofObject()静态方法创建ValueAnimator实例

    2. 调用setXxx() 方法设置动画持续时间,差值方式、重复次数

    3. 调用start()方法启动动画

    4. 为ValueAnimator注册AnimatorUpdateListener监听器,监听ValueAnimator计算出来的值,并将这些值应用到制定对象上。通过getAnimatorValue()方法来计算值,并应用到任何对象上。

  • ObjectAnimator创建属性动画的步骤

    • 继承了ValueAnimator,已经绑定了指定的对象,直接将ValueAnimator计算的值应用到制定对象的指定属性上。

    • 必须为绑定的制定对象提供特定的setter方法才行。如果没有开始值,必须提供getter方法提供开始值。

    • 如果对象是View需要调用onAnimationUpdate()中调用View.invalidate()方法来刷新屏幕显示。

使用SurfaceView实现动画

  • SurfaceView与SurfaceHolder相互关联使用,后者提供了方法:文章来源地址https://www.toymoban.com/news/detail-529449.html

    • lockCanvas()锁定surfaceView对象,或者对指定区域更新。

到了这里,关于【Android学习笔记】图形与图像处理(动态处理)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 【CV学习笔记】图像预处理warpaffine

    【CV学习笔记】图像预处理warpaffine

    在学习图像预处理的时候发现,之前用的图像预处理方法一般为 resize和letter box,这两种方法比较低效,后来在手写AI中接触到了warpaffine,只需要一步就能够对图像进行预处理,同时还能很方便的进行cuda加速,于是便记录下来。 欢迎正在学习或者想学的CV的同学进群一起讨论与

    2023年04月08日
    浏览(19)
  • 数字图像处理(第四版)-冈萨雷斯-学习过程的笔记

    数字图像处理(第四版)-冈萨雷斯-学习过程的笔记

    张伟伟,男,西安工程大学电子信息学院,2019级硕士研究生,张宏伟人工智能课题组。 微信公众号:可随时查阅,搜索— 张二牛的笔记 ,回复[数字图像处理]可以直接获取对应的书籍。 研究方向:机器视觉与人工智能。 电子邮件:zhangweiweicpp@163.com 课题组CSDN官方账号,欢

    2024年02月04日
    浏览(12)
  • Pytorch学习笔记(3):图像的预处理(transforms)

    Pytorch学习笔记(3):图像的预处理(transforms)

      目录  一、torchvision:计算机视觉工具包  二、transforms的运行机制 (1)torchvision.transforms:常用的图像预处理方法 (2)transforms运行原理   三、数据标准化 transforms.Normalize() 四、数据增强  4.1 transforms—数据裁剪 (1)transforms.CentorCrop (2)transforms.RandomCrop (3)RandomResiz

    2023年04月13日
    浏览(17)
  • ROS学习笔记15:ROS与OpenCV结合处理图像

    ROS学习笔记15:ROS与OpenCV结合处理图像

      安装OpenCV sudo apt-get install ros-kinetic-vision-opencv libopencv-dev python-opencv   ROS进行图像处理是依赖于OpenCV库的。ROS通过一个叫CvBridge的功能包,将获取的图像数据转换成OpenCV的格式,OpenCV处理之后,传回给ROS进行图像显示(应用),如下图:   我们使用ROS驱动获取摄像头数

    2024年02月05日
    浏览(16)
  • 数字图像处理 --- 相机的内参与外参(CV学习笔记)

    数字图像处理 --- 相机的内参与外参(CV学习笔记)

    Pinhole Camera Model(针孔相机模型)         针孔相机是一种没有镜头、只有一个小光圈的简单相机。 光线穿过光圈并在相机的另一侧呈现倒立的图像。为了建模方便,我们可以把 物理成像平面 (image plane)上的图像移到 实际场景 (3D object)和 焦点 (focal point)之间,把他想象成

    2024年02月12日
    浏览(12)
  • 计算机图形图像技术(OpenCV核心功能、图像变换与图像平滑处理)

    计算机图形图像技术(OpenCV核心功能、图像变换与图像平滑处理)

    1、显示图像 ①功能:在指定窗口中显示图像。 ②参数: name 为窗口的名字; image 为待显示的图像。 ③说明:可显示彩色或灰度的字节图像和浮点数图像,彩色图像数据按BGR顺序存储。 2、读入图像 ①功能:从指定文件读入图像。 ②参数: filename 为图像文件名,支持BMP、

    2024年02月03日
    浏览(16)
  • BIT 变化检测模型复现 深度学习学习笔记 基于transformer结构的图像处理模型

    BIT 变化检测模型复现 深度学习学习笔记 基于transformer结构的图像处理模型

    BIT 是用 transformer 结构进行变化检测的一个孪生网络,它的 backbone 用的是 Resnet 结构,具体结构分析可以参考这个链接的作者写的,非常清楚, http://t.csdn.cn/rA9sH。 下面就是来讲我自己的实现过程,比较简单。 首先,在官网找到相应的代码,下载解压到自己的本地。github上面的

    2024年02月10日
    浏览(22)
  • 数字图像处理第三章 学习笔记附部分例子代码(C++ & opencv)

    数字图像处理第三章 学习笔记附部分例子代码(C++ & opencv)

    本系列博客参考书为, 数字图像处理第三版-冈萨雷斯 第三版教材中图片下载地址: book images downloads vs2019配置opencv可以查看:VS2019 Opencv4.5.4配置教程 后续剧情: 数字图像处理 第四章 频率域滤波 学习笔记 数字图像处理 第六章 彩色图像处理 学习笔记 数字图像处理 第七章 小

    2024年02月03日
    浏览(16)
  • 『CV学习笔记』图像超分辨率等图像处理任务中的评价指标PSNR(峰值信噪比)

    图像超分辨率等图像处理任务中的评价指标PSNR(峰值信噪比) 峰值信噪比(Peak Signal-to-Noise Ratio, PSNR)是图像超分辨率等图像处理任务中常用的一个指标,用来评估图像质量。PSNR的值越高,表示失真越小,图像质量越好。 PSNR是通过对比原图像和处理后图像的每个像素的差异来

    2024年02月06日
    浏览(12)
  • MATLAB 之 隐函数绘图、图形修饰处理、图像处理与动画制作和交互式绘图工具

    MATLAB 之 隐函数绘图、图形修饰处理、图像处理与动画制作和交互式绘图工具

    如果给定了函数的显式表达式,可以先设置自变量向量,然后根据表达式计算出函数向量,从而用 plot 、 plot3 等函数绘制出图形。 但如果函数用隐函数形式给出,则很难用上述方法绘制出图形。对此,MATLAB 提供了一些函数用来绘制隐函数图形。 隐函数二维绘图采用 ezplot 函数

    2024年02月07日
    浏览(11)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包