2013-01-09 7 views
4

나는 단추의 한가운데에 간단한 "X"를 그리려고합니다. 나는 다음과 같은 도면 코드에 넣어했습니다일관되게 그려지는 kivy 줄을 얻는 방법

width, height = self.size 
    x, y = self.pos 
    x1, x2 = x + int(width*0.3), x + int(width*0.7) 
    y1, y2 = y + int(height*0.3), y + int(height*0.7) 
    with self.canvas: 
     Line(points=[x1, y1, x2, y2], width=1, cap='none') 
     Line(points=[x2, y1, x1, y2], width=1, cap='none') 
    self.canvas.ask_update() 

두 개의 대각선을, 심지어 그들이 동일한 정수 좌표를 사용하고 있지만, 같은 그려되지 않습니다. 왼쪽 위부터 오른쪽 아래까지는 별칭이 그려지고 다른 하나는 그렇지 않습니다. 어떻게 일관성있게 만들 수 있습니까?

enter image description here

내가 kivy의 Windows 버전으로 테스트 그리고 난 아직 다른 플랫폼에서 시도하지 않은 것을 언급해야한다.

답변

1

x/y 좌표에 0.5 또는 0.375를 더합니다.

+0

0.5를 시도했지만 도움이되지 않았습니다. 다른 조합을 시도해 볼 수도 있지만. –

1

너비가 1.0 인 라인 명령은 GL_LINE을 사용하고 그래픽 카드 기능 및 멀티 샘플링 수에 따라 별칭이 지정됩니다. 나는 ATI와 NVIDIA 카드로 다른 결과를 얻었습니다.

너비 = 1.0 (너비 = 0.75라고 가정)을 사용하면 삼각형으로 메쉬를 만듭니다. 결과는 더욱 일관성있게 보입니다. 너 해볼래?

+0

처음에는 너비가 2 인 문제를 발견했습니다.이를 단순화하기 위해 1로 변경했습니다. 나는 1보다 적은 것을 시도하지 않았다. 나는 오늘 밤 늦게까지 그것을 시험 할 기회가 없을 것이다. –

+0

죄송합니다. 방금 일 년이 넘었으며 결코 당신에게 돌아 오지 않았 음을 알았습니다. 너비를 0.75로 변경해도 흐린 선이 전혀 변경되지 않았지만 다른 선이 두 번 두껍고 여전히 전체 강도로 변경되었습니다. –

관련 문제