У меня есть программа, которая рисует векторную графику, используя 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();
Из того, что я могу сказать, никакой интерполяции не происходит вообще. Любые идеи?