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

网站那个做的比较好深圳有哪些网站建设公司

网站那个做的比较好,深圳有哪些网站建设公司,邯郸网站建设最新报价,泉州安全教育平台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/487392/

相关文章:

  • 做外贸的有哪些网站廊坊网站建设公司哪个好
  • 深圳宝安网站建设学习网html5网页代码大全
  • 网站建设介绍会发言稿wordpress 工具栏
  • 重庆网站推广计划2017主流网站风格
  • 进贤网站建设做网站有什么优势
  • 免费购物网站源码网站收录是什么意思
  • 网站做端口映射如何创建公众号的步骤
  • 什么行业需要做网站网站系统升级需要多久
  • 网站产品推广网站建设功能规划
  • 2018年公司做网站注意事项WordPress标题美化
  • 西宁seo网站上海建设安检站网站
  • 网站友情链接模块介绍邯郸公司做网站
  • 怎样用织梦建设网站报个电脑培训班要多少钱
  • 河南省住房和城乡建设部网站首页安徽建设工程信息平台
  • 网站开发工程师的要求做seo要明白网站内容
  • 如何做天猫网站医学ppt模板免费下载网站
  • 网站上的通话功能怎么做网站用不用备案
  • 信誉好的模板网站建设wordpress 伪静态设置
  • wordpress主题外贸网站wordpress检查php版本号
  • 便宜电商网站建设找平面图的网站
  • 大型网站建设制作平台东莞南城房价
  • 360免费视频网站建设mvc网站开发之美
  • 武宁县建设工程招标公告门户网站设计一个网站先做哪些构造
  • 公司网站免费建设2023设计院裁员惨烈程度
  • 别人做的网站不能用设计网站教程
  • 设计师发布作品的网站wordpress仿
  • 品牌微信网站建设柳州做网站制作的公司有哪些
  • 买域名做网站推广都是些什么网站点击后的loading是怎么做的
  • 北京网站优化技术泰州自助建站软件
  • 公司企业网站建设目的站长统计官方网站