写这篇文章的初衷是因为早些时候看到一款morning routine上的窗帘皱褶效果,自己也想去实现它,网上也有一些案例但是效果不太好而且没有任何的注释改动难度比较,因此想通过自己的想法去实现这个效果,让后面的人少走弯路。如下图就是我们最终想模仿实现的效果:
在开始写代码之前,我们得先了解一些两个重要的知识点:
1.Canvas方法drawBitmapMesh的使用:
Canvas提供了一个方法
drawBitmapMesh(Bitmap bitmap, int meshWidth, int meshHeight, float[] verts, int vertOffset, int[] colors,int colorffset,Paint paint)
这个方法可以对bitmap进行扭曲,参数说明如下