2017-11-02 16 views
2

내가 무엇을 요구하는지 알 수 없습니다.
나는 알파의 0.2F와 두 개의 객체 Color.BLACKPaint을했습니다 :알파를 추가하지 않고 중첩 된 영역의 알파를 혼합하십시오.

enter image description here

그들은 모두 같은 Paint를 사용합니다. 또한 PorterDuffXfermode 만 변경하는 두 개의 다른 Paint 개체로 테스트했지만 성공하지 못했습니다. 내가 원하는 것은 겹쳐진 영역이 더 어둡게되는 것을 피하는 것입니다. 즉, 알파 채널을 "추가"하는 것을 원하지 않습니다. 모든 오브젝트에 동일한 알파가 필요합니다 (겹치는 경우에도 마찬가지입니다). 가능한가? 그것을 어떻게 성취 할 수 있습니까?
시간 내 주셔서 감사합니다.

답변

2

두 개체 모두에 단일 경로를 사용하십시오. 이 입력하는 동안

Path path = new Path(); 
path.moveTo(.. 
path.lineTo(.. 
path.addCircle(... 
canvas.drawPath(path, paint); 

는하지만,이 두 객체가 같은 스타일이있는 경우에만 작동 기억 - 하나 모두 채우거나 뇌졸중 또는 둘 모두 두 개의 서로 다른 페인트 객체로 & 스트로크

을 채우기, 난 몰라 그것이 가능하다고 생각합니다.

+0

이 경우에는 동일한 Paint 객체를 공유하므로 완벽하게 작동합니다! addCircle> addArc> drawPath를 호출합니다. 감사합니다 :) – GuilhE

+0

도와 드리겠습니다 :) –

+0

"원형"경로를 통해 "지점"을 애니메이션하려는 경우이 내 질문에 대답하지만이 방법은 약간의 문제가 있지만 경로는 제거/지워지지 않습니다. 이것은 흔적을 남길 것입니다. – GuilhE