Mono игнорирует Graphics.InterpolationMode? - PullRequest
1 голос
/ 21 апреля 2010

У меня есть программа, которая рисует некоторую векторную графику, используя System.Drawing и класс Graphics. Сглаживание работает, вроде бы хорошо, но для моей потребности мне нужна избыточная дискретизация, поэтому я создаю исходное изображение, которое будет в n раз больше, а затем уменьшу окончательное изображение на n. В Windows и .NET полученное изображение выглядит великолепно! Однако на Mono 2.4.2.3 (стоковая установка Ubuntu 9.10) интрополяция ужасна. Вот как я масштабирую свои изображения:

Bitmap bmp = new Bitmap(Bmp.Width / OverSampling, Bmp.Height / OverSampling);
Graphics g = Graphics.FromImage(bmp);
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.DrawImage(Bmp, 0, 0, bmp.Width, bmp.Height);
g.Dispose();

Из того, что я могу сказать, интерполяция вообще не происходит. Есть идеи?

Ответы [ 2 ]

0 голосов
/ 21 апреля 2010

Ну, я нашел это: http://www.mail-archive.com/mono-devel-list@lists.ximian.com/msg18099.html

Я предполагаю, что основной код процедур рисования Моно виноват. УРА! Теперь я могу написать свой собственный downscaler.

...