Mono是否支持System.Drawing和System.Drawing.Printing?

时间:2008-08-26 05:36:17

标签: c# .net linux printing mono

我正在尝试使用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;
}

2 个答案:

答案 0 :(得分:7)

Mono docs开始,我想是的:

  

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

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

答案 1 :(得分:5)

According to

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