private void OptimizePNGStep1(Bitmap image) { for (int i = 2; i < image.Height - 2; i++) { for (int j = 2; j < image.Width - 2; j++) { image.SetPixel(j, i, ColorAndImageFactory.GetMedianFilter( image.GetPixel(j - 2, i - 2), image.GetPixel(j - 1, i - 2), image.GetPixel(j, i - 2), image.GetPixel(j + 1, i - 2), image.GetPixel(j + 2, i - 2), image.GetPixel(j - 2, i - 1), image.GetPixel(j - 1, i - 1), image.GetPixel(j, i - 1), image.GetPixel(j + 1, i - 1), image.GetPixel(j + 2, i - 1), image.GetPixel(j - 2, i), image.GetPixel(j - 1, i), image.GetPixel(j, i), image.GetPixel(j + 1, i), image.GetPixel(j + 2, i), image.GetPixel(j - 2, i + 1), image.GetPixel(j - 1, i + 1), image.GetPixel(j, i + 1), image.GetPixel(j + 1, i + 1), image.GetPixel(j + 2, i + 1), image.GetPixel(j - 2, i + 2), image.GetPixel(j - 1, i + 2), image.GetPixel(j, i + 2), image.GetPixel(j + 1, i + 2), image.GetPixel(j + 2, i + 2) )); } _progress.OperationsDone++; } }