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

wordpress影视采集网站楚雄州住房和城乡建设局网站

wordpress影视采集网站,楚雄州住房和城乡建设局网站,网站设计包括什么软件,平面设计制作Matrix结构 在Android开发中#xff0c;矩阵是一个非常强大且有趣的工具。位于图形库中#xff0c;android.graphics.Matrix 是一个 33 的 float 矩阵#xff0c;其主要作用是坐标变换。 它的结构大概是这样的#xff1a; 其中每个位置的数值作用和其名称所代表的的含义是…Matrix结构 在Android开发中矩阵是一个非常强大且有趣的工具。位于图形库中android.graphics.Matrix 是一个 3×3 的 float 矩阵其主要作用是坐标变换。 它的结构大概是这样的 其中每个位置的数值作用和其名称所代表的的含义是一一对应的 MSCALE_X、MSCALE_Y控制缩放MTRANS_X、MTRANS_Y控制平移MSKEW_X、MSKEW_X控制错切MSCALE_X、MSCALE_Y、MSKEW_X、MSKEW_X控制旋转MPERSP_0、MPERSP_1、MPERSP_2控制透视 原理应用 在Android的很多地方其实都使用到了Matrix的方法比如图片、Canvas、动画等我们这里以图片为例假设自定义view在onDraw函数中我们先绘制一个坐标系然后来绘制一张图片。 // 平移画布 canvas.translate(mWidth/2,mHeight/2); mPaint.setStrokeWidth(1);// 恢复画笔默认宽度// 创建矩阵 mMatrix new Matrix(); /*** 测试的Matrix操作*/ // 接下来要加入的代码 // 绘制图片 canvas.drawBitmap(mBitmap,mMatrix,null);1、缩放变换 将点的X轴和y轴方向分别缩放k0和k1倍。x、y的计算结果为 : 用矩阵表示 为什么要写成三维的矩阵呢因为android视图实际上就是三维的只是目前我们才讨论到二维后面会知道。 效果如图所示 现在我们使用Matrix自带的setScale方法: /*** 测试的Matrix操作*/ mMatrix.setScale(0.5f,0.5f);Log.d(TAG,mMatrix.toString());// Log D/TAG: Matrix{[0.5, 0.0, 0.0][0.0, 0.5, 0.0][0.0, 0.0, 1.0]}2、错切变换 错切变换的效果就是让所有点的x坐标(或者y坐标)保持不变而对于的y坐标(或者x坐标)则按照比例发生平移。 水平错切 保持y不变但其x坐标则按比例发生平移。x、y的计算结果为 : 用矩阵表示 : 效果如图所示 : 垂直错切 保持x不变但其y坐标则按比例发生平移。x、y的计算结果为 : 用矩阵表示 : 效果如图所示 : 当然你也可以同时进行水平错切和垂直错切的变换。 使用示例 现在我们使用Matrix自带的setSkew方法 : /*** 测试的Matrix操作*/ mMatrix.setSkew(0f,0.5f); Log.d(TAG,mMatrix.toString());// Log D/TAG: Matrix{[1.0, 0.0, 0.0][0.5, 1.0, 0.0][0.0, 0.0, 1.0]}3、平移变换 假设有坐标为x0,y0将其点进行平移移动到点x,y其x、y计算结果为 : 用矩阵表示 : 效果如图所示 : 使用示例 现在我们使用Matrix自带的setTranslate方法 : /*** 测试的Matrix操作*/ mMatrix.setTranslate(-200,-200); Log.d(TAG,mMatrix.toString());// Log D/TAG: Matrix{[1.0, 0.0, -200.0][0.0, 1.0, -200.0][0.0, 0.0, 1.0]}4、旋转变换 假设有一点坐标为x0, y0距离原点为r与x轴方向的夹角为α绕原点旋转θ后变换为点x, y其变换前后各点计算结果为 : 用矩阵表示为 : 效果如图所示 : 使用示例 现在我们使用Matrix自带的setRotate方法 : /*** 测试的Matrix操作*/ mMatrix.setRotate(180); Log.d(TAG,mMatrix.toString());// Log D/TAG: Matrix{[-1.0, -0.0, 0.0][0.0, -1.0, 0.0][0.0, 0.0, 1.0]}5、透视变换 我们在之前的变换中一直没有说到最后一行的三个参数MPERSP_0、MPERSP_1、MPERSP_2这里我们来稍微聊聊这三个参数所表示的透视。我们一般在图像中的一个点将使用如下方式进行表示(x, y, w)而Android中的二维矩阵计算是基于齐次坐标的齐次坐标要求w的值为1所以这个点的表示方法就变化为(x/w, y/w, 1)。 透视变换的效果其实类似于投影机的方式我们看下w3时坐标(15,21,3)的效果 : 现在看下(15,21,3)计算出的齐次坐标系坐标(5,7,1)的效果 : 根据这个规则也就解释了我们在使用过程中修改MPERSP_2参数时图像会发生的类似缩放的效果其实就是透视变换的效果。 使用示例 现在我们使用Matrix自带的setValues方法 : /*** 测试的Matrix操作*/ mMatrix.setValues(new float[]{1, 0, 0, 0, 1, 0, 0, 0, 1.5f}); Log.d(TAG,mMatrix.toString());// Log D/TAG: Matrix{[1.0, 0.0, 0.0][0.0, 1.0, 0.0][0.0, 0.0, 1.5]}Matrix前乘与后乘 Matrix前乘与后乘的情况就类似于线性代数上的情况。 前乘 前乘相当于原始矩阵乘以变化矩阵。 示例如下:  mMatrix.reset(); mMatrix.preScale(sx,sy); mMatrix.preTranslate(tx,ty);用矩阵表示为 : 后乘 后乘相当于变化矩阵乘以原始矩阵 mMatrix.reset(); mMatrix.postScale(sx,sy); mMatrix.postTranslate(tx,ty);那么矩阵的复合操作就是前乘后乘的组合了具体的使用的时候注意一下。这里也只是基础的介绍至少简单知道API参数对应矩阵的位置变化情况了。
http://www.pierceye.com/news/264982/

相关文章:

  • 贴吧做网站wordpress不兼容ie
  • 上海万网网站建设网络工程专业是什么
  • 到国外建网站自己做的视频发什么网站吗
  • 高校网站平台建设快速网站排名
  • seo技术 如何优化网站内部结构用ps做网站方法
  • vi设计公司网站python做网站好处
  • 北京专业网站建设服务商枣庄建设工程管理局网站
  • 百度移动网站提交深圳做网站的好公司
  • 十大在线编程网站旅游营销型网站
  • 微转app是用网站做的吗win10运行wordpress
  • 微网站建设哪里便宜网站做的跟别人的一样可以吗
  • 合肥优化网站福州网站设计
  • 企业网站制作前期需要什么资料网站 月15g流量够用吗
  • 网络营销网站建设ppt环艺做网站
  • 手机建设银行官方网站网站开发要点
  • 做简历的网站有随州网站建设学校
  • 深圳建设网站企业青白江做网站的公司
  • dm网站制作软件无忧网站建设
  • 如何在自己的网站上做歌单王建设医生网站
  • 科技+杭州+网站建设做效果图的网站有哪些
  • 引流推广网站平台wordpress页面发布失败
  • 南京哪家网站建设好网站开发需要注意的
  • 一个综合网站上线多少钱wordpress粘贴word
  • 承接电商网站建设新手做自己的网站
  • 网页版视频网站建设需要多少钱四川鸿业建设集团公司网站
  • h5网站实例wordpress改造mip
  • 完整的网络营销推广方案包括优化营商环境心得体会个人
  • 商洛市住房和城乡建设局网站建免费网站
  • 做网站要多少的服务器网站设计的步骤
  • 网站关键词怎么做上首页wordpress 架构原理