2010-03-20 9 views

답변

4

나는 당신 라인의 바깥 쪽 절반이 잘려지고,하지만 내 추천이 안쪽으로 대신 모든 좌표 0.5 픽셀을 이동하는 것입니다 베드로 Hosey의 분석에 동의합니다. 이렇게하면 직선이 crisper (2 화면 픽셀에 걸쳐 안티 앨리어싱되지 않음)됩니다.

+0

절반으로 이동하면 문제가 해결 된 것 같습니다. – indragie

0

그냥 두껍게 보입니다. 확대하면 검정의 몇 여분의 픽셀이 실제로 앤티 엘리 어싱으로 인해 발생하는 일부 픽셀의 픽셀 인 것처럼 보입니다.

안티 앨리어싱을 해제하여 결과가 더 좋게 보이는지 확인해보십시오.

편집 : 또한 오른쪽 아래 모서리에 그림자 효과가있는 것 같습니다.

+0

맞아요, 그 효과를내는 것은 회색 픽셀입니다. 안티 앨리어싱을 해제하려고 시도했지만 결과가 더 나빴습니다. 스트로크 라인의 일부가 누락되었습니다. 다른 방법으로 고칠 수 있습니까? – indragie

+0

죄송합니다. 내 머리 꼭대기에서 벗어나지 마라. 잘만되면 다른 사람이 와서 다른 방법을 제안 할 수 있기를 바랍니다. –

2

직사각형 클리핑 패스 내에서 드로잉 한 것으로 판단됩니다. 모서리가 사각형 안에 완전히 들어 있지만 측면이 반으로 자릅니다. 반은 클리핑 패스 안쪽에 그려 지므로 반은 바깥쪽에 있으므로 잘립니다.

클리핑 패스를 칠하기 전에 경로를 추가해보십시오.

이렇게하려면, 당신은 두 번 문맥의 현재의 경로에 CGPath을 추가해야합니다

  1. 는 현재 경로에 CGPath를 추가합니다.
  2. Add current path to clipping path (따라서 현재 경로는 비어 있음).
  3. 현재 경로에 CGPath를 추가하십시오.
  4. 스트로크 전류 경로.