2016-06-17 3 views
0

아래 코드에서 가로 3 인치, 세로 1 인치의 직사각형을 그릴 것으로 예상했습니다. 대신, 인쇄 된 페이지의 실제 직사각형은 너비가 4 인치 x 높이가 2 인치입니다.C# PrintPageEventArgs.Graphics.DrawRectangle이 잘못된 크기를 인쇄합니다.

내가 그리려고하는 모든 사각형은 항상 예상보다 1 인치 넓고 키가 큽니다.

내가 뭘 잘못하고 있니?

인쇄 된 페이지에 올바른 크기의 사각형을 얻기 위해 PrintPageEventArgs.Graphics의 추가 속성을 설정해야합니까?

void printDocument_PrintPage(object sender, PrintPageEventArgs e) 
{ 
    e.Graphics.PageUnit = GraphicsUnit.Inch; 
    e.Graphics.DrawRectangle(Pens.LightGray, 1, 1, 3, 1); 
} 

답변

1

아래 코드는이 문제를 해결했습니다. 기본 펜 너비가 1 인 것으로 의심되어 1 인치로 해석됩니다. 그것은 직사각형을 아주 크게 만들었습니다. 펜 폭을 0으로 지정하면 고정됩니다.

void printDocument_PrintPage(object sender, PrintPageEventArgs e) 
{ 
    e.Graphics.PageUnit = GraphicsUnit.Inch; 

    Pen pen = new Pen(Color.LightGray, 0); 
    e.Graphics.DrawRectangle(pen, 1, 1, 3, 1); 
} 
관련 문제