다음 문제에 대해 나에게 힌트가있는 사람이 있습니까?구멍이있는 경로를 그립니다 (안드로이드)
나는 구멍이있는 채워진 경로 (캔버스)를 그립니다. SVG 경로 정의에서 은 다음과 같습니다
M 100 100 L 200 100 L 200 200 L 100 200 L 100 100 z
M 125 125 L 175 125 L 175 175 L 125 175 L 125 125 z
나는
이 자바 나의 시도는 나에게 풀립니다(때문에 특정 소프트웨어 설계의) 경로 빼기 경로없이이 경로 (모양) 그릴 싶습니다 구멍없이 사각형. 왜 SVG 뷰어가 멘토링 된 정의로 구멍을 긋고 자바 캔버스가 그려지지 않는지 궁금하다. 그 차이는 어디입니까? 이것을 어떻게 할 수 있습니까?
Path p=new Path();
p.moveTo(100, 100);
p.lineTo(200,100);
p.lineTo(200,200);
p.lineTo(100,200);
p.close();
p.moveTo(150, 150);
p.moveTo(180, 150);
p.moveTo(180, 180);
p.moveTo(150, 180);
p.close();
canvas.drawPath(p, paint);
어떤 힌트일까요? 당신은 Path.setFillType(Path.FillType.EVEN_ODD)
를 사용해야합니다
관련
위 코드에서 내부 사각형에 대해 "moveTo"를 수행하고 있습니다. – iagreen
예, iagreen이 옳습니다. 경로의 중간에있는 p.close()를 꺼냅니다. –