C#PrintPageEventArgs.Graphics.DrawRectangle打印不正确的大小

时间:2016-06-17 19:35:21

标签: c# drawrectangle

我希望下面的代码画一个3英寸宽,1英寸高的矩形。相反,打印页面上的实际矩形宽4英寸,高2英寸。

我试图绘制的每个矩形总是比我预期的宽1英寸。

我做错了什么?

我应该在PrintPageEventArgs.Graphics中设置哪些附加属性才能在打印页面上获得正确大小的矩形?

//Below code of line in app constructor & it's method defination
#if WINDOWS_PHONE_APP
HardwareButtons.BackPressed += HardwareButtons_BackPressed;
#endif

#if WINDOWS_PHONE_APP    
void HardwareButtons_BackPressed(object sender, Windows.Phone.UI.Input.BackPressedEventArgs e)
{
    Frame rootFrame = Window.Current.Content as Frame;
    if (frame != null && frame.CanGoBack)
        {
            frame.GoBack();
            e.Handled = true;
        }
}
#endif

1 个答案:

答案 0 :(得分: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);
}