В следующем коде я пытаюсь нарисовать две линии: одну с шириной субпикселя (0,5), а другую с шириной 1px:
var img = new Bitmap(256, 256);
Graphics graphics = Graphics.FromImage(img);
graphics.SmoothingMode = SmoothingMode.AntiAlias;
// Draw a subpixel line (0.5 width)
graphics.DrawLine(new Pen(Color.Red, (float)0.5), 0, 100, 255, 110);
// Draw a single pixel line (1 width)
graphics.DrawLine(new Pen(Color.Red, (float)1), 0, 110, 255, 120);
img.Save(@"c:\temp\test.png", ImageFormat.Png);
graphics.Dispose();
img.Dispose();
Однако на сгенерированном изображении обе линии имеют одинаковую ширину:
Есть ли способ, чтобы верхняя строка отображалась на субпикселе (0,5 пикселя)?
Редактировать: После некоторого исследования, AGG может быть путь, из которого есть c # порт .