Мне нужно создать простую графику в форме Windows с помощью C#. Простыми я имею в виду строки, круги и т. Д. Однако, когда я рисую, например, заполненный круг, край не является гладким (как и ожидалось при рисовании круга с использованием квадратных пикселей), но при рисовании одного круга с тем же числом пикселей в векторной программе он выглядит идеально. В этом примере я рисую Inkscape.Хорошо выглядящая графика в форме окна C#
Возможно, векторное программное обеспечение использует какую-то функцию рендеринга, чтобы сгладить цвета, но возможно ли это на C#, не создавая слишком много кода? Вот пример кода, который использует Graphics
, чтобы создать холст, на котором можно рисовать.
private void StatGraphicsPanel_Paint(object sender, PaintEventArgs e)
{
Graphics canvas = e.Graphics;
Brush brush = Brushes.Aqua;
canvas.FillEllipse(brush, 0, 0, 10, 10);
}
Решение Этот код делает трюк:
private void StatGraphicsPanel_Paint(object sender, PaintEventArgs e)
{
Graphics canvas = e.Graphics;
canvas.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
Brush brush = Brushes.Aqua;
canvas.FillEllipse(brush, 0, 0, 10, 10);
}
Показать код или мы не можем вам помочь. – gunr2171
Я бы пошел с [WPF] (http://en.wikipedia.org/wiki/Windows_Presentation_Foundation), а не WinForms ... – Sam
попробуйте выполнить поиск в документе, если ваши графические объекты имеют какое-либо свойство сглаживания, если они установили его true –