2012-05-29 2 views
5

새 Bitmap 개체를 만들었으므로 이제 GDI +를 사용하여 일부 텍스트를 그려야합니다. 그래서 Graphics.DrawString (...)을 호출합니다.Windows DPI 설정이 Graphics.DrawString에 적용됩니다.

문자열의 크기는 Windows 7의 DPI 설정에 따라 다릅니다. 내 텍스트를 윈도우 설정과 무관하게 만들 수있는 방법이 있습니까?

추 신 : DPI 설정은 텍스트에만 영향을 미치는 것 같습니다. 예를 들어 rect는 DPI를 변경할 때 같은 크기를 사용합니다 ...

답변

9

방금 ​​해결책을 직접 찾았습니다 : 키는 GraphicsUnit.Pixel 매개 변수로 글꼴을 만드는 것입니다. 그리기 문자열은 시스템의 DPI 설정과 독립적입니다.

4

DPI가 장치 독립적 인 단위로 측정 된 드로어 블 항목에만 영향을주는 것은 옳습니다. 글꼴은 일반적으로 1 포인트 = 1/72 인치 인 지점에서 측정됩니다. 따라서 10pt 글꼴은 각 화면 해상도마다 INCHES에서 동일한 크기가되고 화면 해상도와 픽셀 밀도에 따라 더 많거나 적은 픽셀을 차지합니다.

픽셀로 측정 된 모든 항목 (예 : 선, 모양 등)은 DPI의 영향을받지 않지만 실제 실제 크기는 화면 해상도와 픽셀 밀도에 따라 달라집니다. 픽셀 단위로 글꼴을 측정하기 위해 코드를 변경하면 텍스트가 모든 화면 DPI 설정에서 동일한 픽셀 크기가되도록 할 수 있지만 프린터로 인쇄하는 경우 프린터 크기에 따라 텍스트 크기가 달라집니다.