Ejemplo n.º 1
0
        public virtual ImageDiff makeDiff(Screenshot expected, Screenshot actual)
        {
            var diff = new ImageDiff(expected.getImage(), actual.getImage());

            for (int i = 0; i < diff.getDiffImage().Width; i++)
            {
                for (int j = 0; j < diff.getDiffImage().Height; j++)
                {
                    if (this.insideBothImages(i, j, expected.getImage(), actual.getImage()))
                    {
                        if (this.shouldCompare(i, j, expected, actual) && !ImageTool.rgbCompare(expected.getImage().GetPixel(i, j), actual.getImage().GetPixel(i, j), this.colorDistortion))
                        {
                            diff.addDiffPoint(i, j);
                        }
                        else
                        {
                            diff.getDiffImage().SetPixel(i, j, expected.getImage().GetPixel(i, j));
                        }
                    }
                    else
                    {
                        this.setSharedPoint(i, j, expected, actual, diff);
                    }
                }
            }
            return(diff);
        }
Ejemplo n.º 2
0
 private void setSharedPoint(int i, int j, Screenshot expected, Screenshot actual, ImageDiff diff)
 {
     if (Coords.ofImage(expected.getImage()).Contains(new Point(i, j)))
     {
         diff.getDiffImage().SetPixel(i, j, expected.getImage().GetPixel(i, j));
     }
     else
     {
         if (Coords.ofImage(actual.getImage()).Contains(new Point(i, j)))
         {
             diff.getDiffImage().SetPixel(i, j, actual.getImage().GetPixel(i, j));
         }
     }
 }