Android图形图画学习(7)——drawBitmapMesh

本文介绍Android Canvas中的drawBitmapMesh方法,用于将图像绘制在网格上,通过控制网格顶点实现位图像素点的操作。该方法涉及网格布局、顶点坐标和颜色数组,可用于创建变形或特效效果。同时,文中通过BitmapMesh.java的ApiDemo举例说明如何实现翘曲画布算法。
摘要由CSDN通过智能技术生成

public void drawBitmapMesh (Bitmap bitmap, int meshWidth, int meshHeight, float[] verts, int vertOffset, int[] colors, int colorOffset, Paint paint)

这是Canvas中定义的一个绘图函数,我们先介绍一下这个函数的用处和参数意义:

它表示将图像绘制在网格上,说得通俗一些,可以将画板想像成一张格子布(计算机图形学知识,在Opengl中有较明显的应用),在这张布上绘制图像。网格平铺在Bitmap上,通过控制网格顶点,达到控制操作位图像素点的目的。对于一个网格端点均匀分布的网格来说,横向有meshWidth+1个顶点,纵向有meshHeight+1个端点。 顶点数组verts 是以行优先的数组 (二维数组以一维数组表示,先行后列)。网格可以不均匀分布,参数定义如下:

   bitmap: 需要绘制在网格上的图像。
   meshWidth: 网格的宽度方向的数目(列数),为0时不绘制图像。
   meshHeight:网格的高度方向的数目(含数),为0时不绘制图像。
   verts: (x,y)对的数组,表示网格顶点的坐标,至少需要有(meshWidth+1) * (meshHeight+1) * 2 + meshOffset 个(x,y)坐标。
   vertOffset: verts数组中开始跳过的(x,y)对的数目。
   C

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值