我希望下面的代码画一个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
答案 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);
}