图像打印的宽高比不正确?

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);