private static Color GetAverageColor(Point emptyPoint, Raster raster) { var a = 0; var r = 0; var g = 0; var b = 0; var count = 0; foreach (var point in АкварельBase.GetNearPoints(emptyPoint, raster.Width, raster.Height)) { var c = raster.GetPixel(point); if (c.A == 0) { continue; } a += c.A; r += c.R; g += c.G; b += c.B; count++; } a = (int)Math.Round((float)a / count); r = (int)Math.Round((float)r / count); g = (int)Math.Round((float)g / count); b = (int)Math.Round((float)b / count); return(Color.FromArgb((byte)a, (byte)r, (byte)g, (byte)b)); }
private static bool FindEmpty(Point colorPoint, Raster raster) { return(АкварельBase.GetNearPoints(colorPoint, raster.Width, raster.Height) .Select(raster.GetAlpha) .Any(alpha => alpha == 0)); }