В моем приложении я заметил некоторые артефакты изображения. Я обнаружил, что проблема в том, что DrawImage ухудшает изображение на каждом чертеже. Когда я рисую изображение поверх прозрачного изображения, цвет пикселя немного меняется. Если я нарисую его несколько раз, цвет пикселя будет ухудшаться. Вы можете видеть в прикрепленном примере, что значения цвета (RGB) достигают от 29 до 15 после нескольких др aws. Я пробовал разные свойства графики (InterpolationMode, PixelOffsetMode, SmoothingMode, CompositingQuality), но результат был одинаковым. Кто-нибудь из вас знает решение этой проблемы?
public static void Main(string[] args)
{
Bitmap bmporig = new Bitmap(1, 1, PixelFormat.Format32bppArgb);
bmporig.SetPixel(0, 0, Color.FromArgb(247, 29, 29, 29));
Bitmap bmp = null;
for (int i = 0; i < 15; i++)
{
bmp = new Bitmap(1, 1, PixelFormat.Format32bppArgb);
Graphics gr = Graphics.FromImage(bmp);
gr.DrawImage(bmporig, 0, 0);
bmporig = bmp;
}
System.Drawing.Color col = bmp.GetPixel(0,0);
Console.WriteLine(col.A.ToString() + "," + col.R.ToString() + "," + col.G.ToString() + "," + col.B.ToString());
}