Поддерживает ли Mono System.Drawing и System.Drawing.Printing?

Я пытаюсь использовать 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;
}

person Luke    schedule 26.08.2008    source источник
comment
О... упс, похоже, я просто неправильно указал путь к файлу (изменил его, чтобы сначала открыть файл, а затем загрузить его в растровое изображение). Теперь все работает - здесь не на что смотреть, идем дальше.   -  person Luke    schedule 26.08.2008


Ответы (2)


Судя по документам Mono, я думаю, что да:

Managed.Windows.Forms (он же System.Windows.Forms): полная и кросс-платформенная реализация Winforms на основе System.Drawing.

Это также полезно, если вы сначала запустите Mono Migration Analyzer.

person jfs    schedule 26.08.2008

Согласно

System.Drawing теперь завершен, и помимо того, что он является базовым механизмом рендеринга для Windows.Forms, он также был протестирован на использование сторонних элементов управления, которые сильно зависят от него.

person Espo    schedule 26.08.2008