Нарисуйте карандашом, используя DrawLines () в Android - PullRequest
0 голосов
/ 25 июля 2011

Существует массив 'a', который содержит точки ч / б, какие линии необходимо нарисовать:

  float[] a = {0.0f, 1.2f, 3.4f, -9.87f, 65.4f, 0.0f, 567.9f};
  canvas.drawLines(a,mypaint);

Что теперь drawLines (float [] pts, Paint paint) делает то, что рисует линию b / wa [0], a [1] и a [2], a [3], а затем следующую строку b / wa [4], a [5] и a [6]а [7].

теперь я хочу строку b / wa [2], a [3] и a [4], a [5].

Так каксделай это?Поможет ли drawLines (float [] pts, int offset, int count, Paint paint) ?я не понимаю смещения и подсчета параметров?Я хотел использовать смещение = -2 в качестве параметра, чтобы I a [2], a [3] читались дважды.

1 Ответ

0 голосов
/ 25 июля 2011

Из документации :

public void drawLines (float [] pts, int offset, int count, Paint краска)

смещение Число значений в массиве, которые нужно пропустить перед рисованием.

count количество значений в массиве для обработки после пропуска «смещения» их. Так как

Таким образом, чтобы нарисовать линию между (a [2], a [3]) и (a [4], a [5]), вы бы назвали это так:

canvas.drawlines(a, mypaint, 2, 4);

Это пропускает a[0],a[1], затем начинает брать пары из двух в a[2],a[3] и заканчивается в a[4],a[5] (потому что каждая строка использует 4 значения, пары x, y)

Я не видел в документации ничего об использовании отрицательных смещений, но вы должны поэкспериментировать и подумать о том, чтобы узнать источник. Я не думаю, что они поддерживаются.

...