zoukankan      html  css  js  c++  java
  • Matrix使用的分析

    在android中,可以使用Matrix进行相关的图像处理(如:平移、旋转、缩放、错切、对称等)

    就拿平移来说吧:

    1、一般我们要想平移一个图像,那么我们先会创建一个Matrix:

    Matrix matrix = new Matrix();

    2、然后调用matrix的平移方法进行平移:

    matrix.postTranslate(5,3);这句代码代表将图像在原有的基础上将x坐标向右移动5,y坐标向下移动3

    3、最后将要平移的图像来使用这个matrix:

    要平移的图像.setImageMatrix(matrix);

    当然如果要进行其他的操作只不过是调用的方法不同,那么这里面是怎么来运算的呢?

    其实这些操作都是矩阵的运算:

     

    前面的操作其实就是这个矩阵乘法的运算结果:(建议大家先去了解下矩阵的乘法运算很简单的)

    乘法左边矩阵中的5和3就是平移时的2个参数(x、y),右边矩阵中的X0、Y0是要进行平移的的图像的初始坐标,等于号右边结果的X表示平移后的X坐标、Y表示平移后的Y坐标

    矩阵运算:

    X = 1*X0+0*Y0+5*1

    Y = 0*X0+1*Y0+3*1

    得出来的结果为:

    X=X0+5

    Y=Y0+3

    由此可见平移后的X坐标是初始X0坐标加上平移的距离,Y坐标也是同理

  • 相关阅读:
    Flask 请求源码分析
    Flask 上下文管理
    flask-基础知识
    分布式爬虫
    数据结构
    webpack安装和入门
    vue相关
    vue入门
    修改npm全局安装模式的路径
    Vue2+VueRouter2+Webpack+Axios
  • 原文地址:https://www.cnblogs.com/tianguook/p/2779683.html
Copyright © 2011-2022 走看看