2011-01-06 4 views
2

은 매우 쉬운 질문처럼 들리지만 매우 혼란 스럽습니다. 내가 틀린 곳을 잡으세요.직사각형의 너비

왼쪽 = 0
오른쪽 = 10
폭 = 오른쪽 - 우리는 화면이 직사각형을 그리면 = 10

지금 (로이드하여 사용됨), 왼쪽은 10 화소로 0 차 화소에서 진행되는 총 11 픽셀을 차지하므로 너비는 11입니다.

오른쪽은 너비 + 1 => 너비 = 오른쪽 - 왼쪽 + 1 이므로 왼쪽 = 0, 오른쪽 = 9 일 때 우리는 행복합니다. .
왼쪽 = 오른쪽으로 사각형을 그려보십시오. 양쪽 모두 0이어야합니다. QT를 사용하는 동안 잊어 버렸지만 언젠가는 되돌아 왔습니다.이 때문에 문제가 발견되었습니다. 1x1 직사각형의 경우 너비를 0으로 반환했습니다.

전 접근 방식을 따르는 프레임 워크에서는 왼쪽이 포함되어 있고 모든 그림 함수에서 오른쪽이 제외되어 픽셀 = 너비 만 영향을 받았다고 생각합니다.

+0

"programming-languages"라고 태그를 붙였습니다. Android와 관련 있다고 가정합니다. –

+0

다른 프레임 워크에서 제공하는 그리기 함수에서 직사각형의 너비에 대한 일반적인 질문. 안드로이드 및 QT는 단지 예입니다. –

답변

2

픽셀 화면과 같이 래스터에서 선을 그릴 때 일반적인 규칙은 정수 좌표가 픽셀 센터에 있고 모서리가 아니라는 것입니다.

Bresenham's line algorithm을 살펴보십시오. 안드로이드는 당신에게 표준이 아닌 정의를주고있다처럼 픽셀 좌표의

관련 문제