TImage canvas에 이미지를 그릴 때 FillRect를 사용할 때 오른쪽/아랫쪽 경계는 배타적이라고 한다(Exclusive).
배타적인게 무슨 뜻이냐?
->
GDI(WinAPI)에서 사각형 RECT{Left, Top, Right, Bottom}은 좌표 개념은 아래와 같다고 한다.
즉, 왼쪽(Left)과 위쪽(Top) 경계는 포함되지만,
오른쪽(Right)과 아래쪽(Bottom) 경계는 포함되지 않는다고 한다.
그리고 이것을 배타적이라고 표현하더라..
이것은 Rect를 그릴 때 중요한 개념인데,
실제로 채워지는 픽셀의 개수(폭/높이)가
width = Right - Left
height = Bottom - Top
가 되기 때문이다.
예를 들어
Left=100, Top=50, Right=110, Bottom=70 일 때
포함되는 픽셀 좌표는
1×1 픽셀만 채우고 싶다면
Left = x
Top = y
Right = x + 1
Bottom = y + 1
처럼 Right/Bottom을 +1 해줘야 한 칸을 그릴 수 있다.
왜 이렇게 사용하는지 찾아보니
'서로 맞닿은 사각형들을 그릴 때 경계 픽셀을 중복으로 칠하지 않도록 하려는 전통적 규칙' 이라고 한다.
오른쪽/아랫쪽을 배타로 두면, 인접한 사각형들이 딱 맞닿아도 겹치지 않는다.