【发布时间】:2014-08-05 23:27:58
【问题描述】:
以下列表显示了用于创建路径的 x,y 坐标和特定方法。
0 0 移动到
180 0 行至
180 0 移动到
246 227、127 24、115 150立方至127 276、246 71、180 300
立方到180 300 移动到
44 261、166 332、90 339 立方至
14 332, 136 261, 0 300 立方至
0 300 移动到
0 0 lineTo
原始数据点
x = [0, 180, 180, 246, 127, 115, 127, 246, 180, 180, 44, 166, 90, 14, 136, 0, 0, 0]
y = [0, 0, 0, 227, 24, 150, 276, 71, 300, 300, 261, 332, 339, 332, 261, 300, 300, 0]
这个算法的想法是画四个边。两条边是直线。其他两侧 由每条曲线有七个点的贝塞尔曲线组成。这是使用 1 个 moveTo 和 2 个cubicTo 方法绘制的。
目前,如果我使用 Paint.Style.STROKE,它会创建一个封闭的不规则形状。当它使用 Paint.Style.FILL 在画布上绘制时,它只会填充形状的一部分,而中间的一个大方形部分是空的。一些被填充的部分超出了形状封闭区域。
paint.setColor(Color.RED);
paint.setStyle(Paint.Style.FILL);
canvas.drawPath(path, paint);
我的目标是绘制一个覆盖这个封闭区域的位图。但是,由于填充路径没有正确填充该区域,我的目标无法实现。
有没有办法实现这一点。
谢谢
【问题讨论】:
标签: java android android-canvas android-drawable