0

有一个数组 'a' 包含必须绘制的线的点 b/w:

  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]、a[7]。

现在我也想要一行 b/wa[2], a[3] 和 a[4], a[5]。

那么该怎么做呢?drawLines (float[] pts, int offset, int count, Paint paint) 有帮助吗?我不明白偏移量和计数参数?我想使用 offset = -2 作为参数,以便我 a[2],a[3] 被读取两次。

4

1 回答 1

0

文档中:

public void drawLines (float[] pts, int offset, int count, Paint paint)

offset 绘制前要跳过的数组中的值数。

count 数组中要处理的值的数量,在跳过它们的“偏移量”之后。自从

所以要在 (a[2], a[3]) 和 (a[4], a[5]) 之间画一条线,你可以这样称呼它:

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

这会跳过a[0],a[1],然后开始取两个 at 对a[2],a[3],并在 at 结束a[4],a[5](因为每行使用 4 个值,x,y 对)

我在文档中没有看到任何关于使用负偏移的内容,但您应该尝试并考虑阅读源代码以找出答案。不过,我认为它们不受支持。

于 2011-07-25T03:34:32.787 回答