图像打印的宽高比不正确?
Image printing not correct aspect ratio?
我正在尝试打印图像,但我在 A4 纸上的纵横比不正确。我进行了搜索并尝试使用与 A4 纸相同的毫米尺寸,但没有成功。我正在使用 .NET 3.5 开发 Unity3D 2017.0.3f。
如您在上图中所见,它位于右下角,将所有 space 都留在后面。我想要它只是横向打印的普通 A4。
这是我用来打印的代码:
public void btnPrint_Click()
{
PrintDocument pd = new PrintDocument();
pd.PrinterSettings.PrinterName = availablePrinter[0];
pd.DefaultPageSettings.Margins = new Margins(100, 100, 100, 100);
pd.OriginAtMargins = true;
pd.DefaultPageSettings.Landscape = true;
pd.PrinterSettings.DefaultPageSettings.Landscape = true;
pd.PrintPage += new PrintPageEventHandler(pqr);
pd.Print();
}
void pqr(object o, PrintPageEventArgs e)
{
Debug.Log("PrintingImage");
System.Drawing.Image i = System.Drawing.Image.FromFile(path);
e.Graphics.DrawImage(i, e.MarginBounds);
}
我尝试使用 rect
并手动制作它,但仍然没有用。
所以我设法修复了它,但更改了边距
pd.DefaultPageSettings.Margins = new Margins(0, 0, 50, 125);
我正在尝试打印图像,但我在 A4 纸上的纵横比不正确。我进行了搜索并尝试使用与 A4 纸相同的毫米尺寸,但没有成功。我正在使用 .NET 3.5 开发 Unity3D 2017.0.3f。
如您在上图中所见,它位于右下角,将所有 space 都留在后面。我想要它只是横向打印的普通 A4。
这是我用来打印的代码:
public void btnPrint_Click()
{
PrintDocument pd = new PrintDocument();
pd.PrinterSettings.PrinterName = availablePrinter[0];
pd.DefaultPageSettings.Margins = new Margins(100, 100, 100, 100);
pd.OriginAtMargins = true;
pd.DefaultPageSettings.Landscape = true;
pd.PrinterSettings.DefaultPageSettings.Landscape = true;
pd.PrintPage += new PrintPageEventHandler(pqr);
pd.Print();
}
void pqr(object o, PrintPageEventArgs e)
{
Debug.Log("PrintingImage");
System.Drawing.Image i = System.Drawing.Image.FromFile(path);
e.Graphics.DrawImage(i, e.MarginBounds);
}
我尝试使用 rect
并手动制作它,但仍然没有用。
所以我设法修复了它,但更改了边距
pd.DefaultPageSettings.Margins = new Margins(0, 0, 50, 125);