2011-11-20 2 views
1

DrawingContext.DrawGeometry 장치 픽셀의 너비가 넓은면이있는 직사각형을 사용하려고합니다.DrawGeometry에서 WPF의 장치 픽셀 줄을 그리는 방법은 무엇입니까?

var geometry = (defined elsewhere from a Rect {0.0, 0.0, 8.0, 18.0}) 
var brush = new SolidColorBrush(Color.FromArgb(30, 0xff, 0xff, 0xff)); 

// Note: the pen is declared with a 1.0 thickness 
var pen = new Pen(new SolidColorBrush(Color.FromArgb(0xFF, 0xFF, 0xFF, 0xFF)), 1.0) 

drawingContext.DrawGeometry(brush, pen, geometry); 

내가 가진 형상을 구축하고있어 Rect 내가 가진 형상을 그리기있어 정수가 아닌 소수 포인트 (직접 확인) 및 Pen 것을 확인 1.0 단위 넓습니다.

문제는 rect가 화면 2 장치 픽셀 너비의 화면에 그려지고 있다는 것입니다. 정확한 사각형 픽셀에서이 사각형을 어떻게 그릴 수 있습니까? 96dpi에서 1 픽셀로 나올 것으로 기대하고 있습니다.

답변

1

DrawingContext.PushGuidelineSet을 사용하면 가능한 경우 렌더링을 강제로 정렬 할 수 있습니다.

자세한 내용과 예제 코드는 this tutorial을 참조하십시오.

+0

지금은 지오메트리를 구성하는 개별 rect를 살펴 봐야하기 때문에 조금 어색하지만 작동합니다. 좋은 팁, 고마워. –