2008-08-26 13 views
9

Estoy intentando utilizar Mono para cargar un mapa de bits e imprimirlo en Linux, pero recibo una excepción. ¿Mono admite impresión en Linux? El código/excepción están a continuación:¿Mono es compatible con System.Drawing y System.Drawing.Printing?

EDITAR: Ya no recibo la excepción, pero todavía tengo curiosidad por saber qué tipo de soporte hay. Dejando el código para la posteridad o algo así.

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; 
} 
+1

Oh..oops, parece que solo estaba especificando la ruta del archivo incorrecta (la cambié para abrir primero el archivo y luego lo cargué en un mapa de bits). Lo tengo trabajando ahora, nada que ver aquí, muévete. – Luke

Respuesta

6

Desde el Mono docs, creo que sí:

Managed.Windows.Forms (también conocido como System.Windows.Forms): Una plataforma cruzada completa y , System.Drawing basados ​​implementación Winforms .

También es útil si ejecuta Mono Migration Analyzer primero.

5

According to

System.Drawing se ha completado, y además de ser el motor de renderizado subyacente para Windows.Forms, también ha sido probado para el uso de los controles de terceros que en gran medida dependen de ella.