private bool MatchesComparisonPixel(ComparisonPixel basePixel, System.Drawing.Bitmap casinoScreenshot, System.Drawing.Bitmap originalCasinoScreenshot) { //TODO use color difference algorithm var dPosition = basePixel.Position.ToDrawingPoint(); var pixelColor = casinoScreenshot.GetPixel(dPosition.X, dPosition.Y); return basePixel.Color.Equals(pixelColor); }
public void InitComparisonPixels() { ComparisonPixels = new List<ComparisonPixel>(); var originalScreenshot = ApplicationViewModel.Instance.Settings.CasinoScreenshot; //add center pixel var centerDPoint = Center.ToDrawingPoint(); CenterPixel = new ComparisonPixel { Position = Center, Color = originalScreenshot.GetPixel(centerDPoint.X, centerDPoint.Y) }; for (int x = (int)Bounds.Left; x < (int)Bounds.Right; x += 5) for (int y = (int)Bounds.Top; y < (int)Bounds.Bottom; y += 5) { var curPosition = new Point(x, y); if (ContainsPosition(curPosition)) { var dpoint = curPosition.ToDrawingPoint(); ComparisonPixels.Add(new ComparisonPixel { Position = curPosition, Color = originalScreenshot.GetPixel(dpoint.X, dpoint.Y) }); } } }