是否可以合并多条路径?
在下面的示例中,我为生成的“p4”添加了3个路径。 使用Paint.Style.STROKE绘图。 所以它似乎是Path.FillType的一个问题?
public void drawTest3(Canvas canvas){
Path p1,p2,p3,p4;
p1 = new Path();
p2 = new Path();
p3 = new Path();
p4 = new Path();
// create 3 coordinates that form a triangle
float[] start = new float[]{(float)getWidth()/2,(float)getHeight()/2};
float[] point1 = new float[]{0.0f,(float)getHeight()};
float[] point2 = new float[]{(float)getWidth(),(float)getHeight()};
p1.moveTo(start[0], start[1]);
p1.lineTo(point1[0], point1[1]);
p2.moveTo(point1[0], point1[1]);
p2.lineTo(point2[0], point2[1]);
p3.moveTo(point2[0], point2[1]);
p3.lineTo(start[0], start[1]);
// add all 3 paths to p4
p4.addPath(p1);
p4.addPath(p2);
p4.addPath(p3);
// draw
canvas.drawARGB(0xff, 0xdd, 0xdd, 0xdd);
Paint paint = new Paint();
paint.setColor(0x33333333);
canvas.drawPath(p4, paint);
}
问候,罗兰
答案 0 :(得分:1)
这就是我从两种不同方法加入两条路径的方法。每一个都返回一个Path。
Path p = new Path();
p = beggining();
p.addPath(continue(p));
p.close();
答案 1 :(得分:0)
如果路径已关闭,您只能使用fill,因此您需要在绘制之前调用p4.close()。
答案 2 :(得分:0)
我想你可能要关闭每条路径?路径类有时会产生意想不到的结果。