for (int i = 0; i < img.Width; i++) { for (int j = 0; j < img.Height; j++) { Color k = img.GetPixel(i, j); int a = k.GetHashCode(); String s = Convert.ToString(a, 2).ToString(); if (kk > by.Length - 1) { s = s.Remove(s.Length - 1, 1) + "0"; } else if (by.ElementAt(kk) == '0') { s = s.Remove(s.Length - 1, 1) + "0"; } else if (by.ElementAt(kk) == '1') { s = s.Remove(s.Length - 1, 1) + "1"; } int x = Convert.ToInt32(s,2); Color c = Color.FromArgb(x); img2.SetPixel(i, j, c); kk++; } }