다음 코드는 투명 비트 맵을 만든 다음 앤티 앨리어싱을 사용하여 흰색 타원을 그립니다.GDI + 버그 : 앤티 앨리어싱 흰색 투명도
using(var background = new Bitmap(500, 500))
using (var graphics = Graphics.FromImage(background))
{
graphics.SmoothingMode = SmoothingMode.AntiAlias;
graphics.Clear(Color.Transparent);
graphics.DrawEllipse(new Pen(Color.White, 50), 250, 250, 150, 150);
background.Save("test.png", ImageFormat.Png);
}
내가 찾은 버그는 타원의 가장자리 주변의 앤티 앨리어싱 픽셀이 예상치 못한 색상을 가지고있다. RGB 값은 (255,255,255) 대신 (254,254,254)입니다. GDI +는 ARGB (0,255,255,255)와 흰색을 (255,255,255,255)로 정의했기 때문에 혼합 후 254가 왜 표시됩니까?
을 ... 무슨
코드는의 예를 기반으로 배경 색상? – Sayse
배경색은 Color.Transparent ARGB (0,255,255,255)입니다. 따라서 정밀도가 어느 정도 떨어져 있는지 확실하지 않습니다. – Zach
특정 픽셀에 영향을 미치는 전경색은 하위 픽셀의 전경색 범위에 따라 혼합되어 배경에서의 영향을 무시합니다. http://www.w3.org/Conferences/WWW4/Papers/53/gq-trans.html – Sayse