10

我正在尝试使用 Mono 加载位图并在 Linux 上打印它,但我遇到了一个异常。Mono 是否支持在 Linux 上打印?代码/异常如下:

编辑:不再例外,但我仍然很好奇有什么样的支持。为后代留下代码或其他东西。

private void btnPrintTest_Click(object sender, EventArgs e)
{
    _printDocTest.DefaultPageSettings.Landscape = true;
    _printDocTest.DefaultPageSettings.Margins = new Margins(50,50,50,50);
    _printDocTest.Print();
}

void _printDocTest_PrintPage(object sender, PrintPageEventArgs e)
{
  var bmp = new Bitmap("test.bmp");

  // Determine center of graph
  var xCenter = e.MarginBounds.X + (e.MarginBounds.Width - bmp.Width) / 2;
  var yCenter = e.MarginBounds.Y + (e.MarginBounds.Height - bmp.Height) / 2;

  e.Graphics.DrawImage(bmp, xCenter, yCenter);

  e.HasMorePages = false;
}
4

2 回答 2

7

Mono docs,我认为是的:

Managed.Windows.Forms(又名 System.Windows.Forms):一个完整​​的、跨平台的、基于 System.Drawing 的 Winforms 实现。

如果您首先运行Mono Migration Analyzer ,它也很有用。

于 2008-08-26T05:44:57.543 回答
5

根据

System.Drawing 现在已经完成,除了作为 Windows.Forms 的底层渲染引擎之外,它还经过测试,可以使用严重依赖它的第三方控件。

于 2008-08-26T05:45:40.240 回答