使用drawBitmapMesh扭曲图像

Posted 奋斗青年一族

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用drawBitmapMesh扭曲图像相关的知识,希望对你有一定的参考价值。

Canvas提供了一个drawBitmapMesh(bitmap, meshWidth, meshHeight, verts, vertOffset, colors, colorOffset, paint)方法,该方法可以对Bitmap进行扭曲,实现“水波荡漾”、“风吹旗帜”等各种扭曲效果。

drawBitmapMesh方法的关键参数说明:

bitmap:指定需要扭曲的源位图。

meshWidth:该参数控制在横向上把该源位图划分成多少格。

meshHeight:该参数控制在纵向上把该源位图划分成多少格。

verts: 该参数是一个长度为(meshWidth+1)*(meshHeight+1)*2的数组,它记录了扭曲后的位图各“顶点”位置,虽然它是个一位在数组,它实际上记录的数据是形如(x0,y0)、(x1,y)、(x2,y)......(xN,yN)格式的数据,这些数组元素控制对Bitmap位图的扭曲效果。

vertOffset: 控制verts数组中从第几个数组元素开始才对Bitmap进行扭曲(忽略vertOffset之前数据的扭曲效果).

以上是关于使用drawBitmapMesh扭曲图像的主要内容,如果未能解决你的问题,请参考以下文章

Android 自定义 View _ 扭曲动效,android开发环境搭建教程

炫酷Android 波浪式扭曲侧边栏,窗帘(Curtain Menu)效果

通过鱼眼扭曲功能扭曲直线并在图像中正确绘制

如何使用javascript修复HTML画布对象中的扭曲/扭曲和剪切图像?

如何将未扭曲图像的点投影到扭曲图像?

如何使用变形网格扭曲图像