Android图像处理之图形特效处理

本文详细介绍了Android中使用Matrix进行图形特效处理,包括平移、旋转、缩放和错切变换的原理及代码示例。还提到了使用drawBitmapMesh()方法进行像素块分析以实现更复杂的图像特效,强调了该方法的灵活性和挑战性。
摘要由CSDN通过智能技术生成

上一篇博客说到了Android图像的色彩处理,使用的是ColorMatrix矩阵;本篇博客说Android图形的特效处理,使用的是Matrix这个类。

一、Android变形矩阵——Matricx:

跟Android图像的色彩处理基本一样,只是将ColorMatrix换成了Matrix,ColorMatrix是4*5的矩阵,Matrix是3*3的。每个像素点表达了其坐标的X、Y信息:




当使用变换矩阵去处理每一个像素点的时候,与颜色矩阵的矩阵乘法一样,计算公式如下所示:




通常情况下,会让 g=h=0i=1 ,这样就使 1=gX+hY+i     恒成立。因此,只需着重关注上面几个参数即可。

与色彩变换矩阵的初始矩阵一样,图形变换矩阵也有一个初始矩阵。就是对角线元素a、e、i为1,其他元素为0的矩阵,如下图所示:




图像的变形处理通常包含以下四类基本变换:

  • Translate——平移变换
  • Rotate——旋转变换
  • Scale——缩放变换
  • Skew——错切变换

1、平移变换

平移变换的坐标值变换过程就是将每个像素点都进行平移变换,当从 P(x0,y0)P(x1,y1) 时,所需的平移矩阵如下所示:


2、旋转变换

旋转变换即指一个点围绕一个中心旋转到一个新的点。当从 P(x0,y0) 点,以坐标原点O为旋转中心旋转到 P(x1,y1) 时,可以将点的坐标都表达成OP与X轴正方向夹角的函数表达式(其中r为线段OP的长度, αOP(x

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值