Я пытаюсь добавить текстовую шкалу к цветному изображению. Изображение agcScale.jpg (ниже) представляет собой 2 метки winform сверху и снизу и 2 картинки winform picturebox слева и справа. Точно такой же код был использован для создания строк в правом и левом picturebox, разница лишь в том, что pictureBoxAgcVscale содержит только строки. Почему DrawString в pictureBoxAgc выглядит нормально, а DrawString в pictureBoxAgcVscale выглядит так плохо? Возможно, я могу исправить pictureBoxAgcVscale, выполнив bmp.SetPixel для каждого пикселя, но это кажется неправильным способом исправить ситуацию.
private void DisplayAgcVscale(double min, double max)
{
var bmp = new Bitmap(pictureBoxAgcVscale.Width, pictureBoxAgcVscale.Height);
var c = (max - min) / bmp.Height;
using (var g = Graphics.FromImage(bmp))
{
var font = new Font("Microsoft Sans Serif", 8.25F);
var y1 = bmp.Height / 10;
for (var y = y1; y < bmp.Height; y += y1)
{
var agc = y * c + min;
var text = agc.ToString("#0.000V");
var h = bmp.Height - y - font.Height / 2;
g.DrawString(text, font, Brushes.Black, 0, h);
}
}
pictureBoxAgcVscale.Image = bmp;
}