O Mono suporta System.Drawing e System.Drawing.Printing?[fechado]
Pergunta
Estou tentando usar o Mono para carregar um bitmap e imprimi-lo no Linux, mas estou recebendo uma exceção.O Mono suporta impressão em Linux?O código/exceção está abaixo:
EDITAR: Não estou mais recebendo a exceção, mas ainda estou curioso para saber que tipo de suporte existe.Deixando o código para a posteridade ou algo assim.
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;
}
Solução
De Documentos mono, Acho que sim:
Gerenciado.windows.forms (aka system.windows.forms):Uma plataforma completa e cruzada, System.Drewing Basey Winforms Implementation.
Também é útil se você executar o Analisador de Migração Mono primeiro.
Outras dicas
System.Drawing agora está completo e, além de ser o mecanismo de renderização subjacente para Windows.Forms, também foi testado para usar controles de terceiros que dependem fortemente dele.