Все, что вам нужно для понимания функции DrawBitmapMesh, можно найти в документации для разработчиков Android.См. Документация для разработчиков Android .
Однако я объясню это здесь своими словами.Синтаксис этой функции:
public void drawBitmapMesh (Bitmap bitmap, int meshWidth, int meshHeight, float[] verts, int vertOffset, int[] colors, int colorOffset, Paint paint)
Растровое изображение - это, очевидно, растровое изображение, которое вы хотите использовать.Теперь представьте сетку поверх растрового изображения с meshWidth + 1 точкой вдоль строк изображения и meshHeight + 1 точкой вниз по столбцам растрового изображения.Вы указываете эти точки или вершины в переменной verts.Они вводятся в основном формате строки, то есть вы вводите вершины по вертикали слева направо для строки 1, затем слева направо для строки 2 и т. Д., Т. Е. Если у нас 4 х 4 точки, то у нас есть что-токак это:
* 01 * 02 * 03 * 04
* 05 * 06 * 07 * 08
* 09 * 10 * 11 * 12
* 13 * 14 * 15 * 16
где * n - вершина (x, y) с координатами, соответствующим образом расположенными над растровым изображением.Вы бы определили свой массив vert следующим образом:
vert[0] = (*01).x;
vert[1] = (*01).y;
vert[2] = (*02).x;
vert[3] = (*02).y;
...
Если бы вы распределили эти точки равномерно по растровому изображению, тогда drawBitmapMesh теоретически даст тот же результат, что и функция drawBitmap.Однако, если вы сместите эти вершины от их «естественной» позиции, то drawBitmapMesh начнет растягивать растровое изображение в соответствии со спецификацией.
Вы можете установить оставшиеся аргументы функции равными 0, нулю, 0, нулю соответственнокак вы сделали в своем примере.