Допустим, у меня есть два списка цветов, и мне нужно их сравнить. У меня есть функция сравнения цветов, но я немного запутался в типах, которые получает функция. Как их бросить?Сравните два списка цветов
public bool AreColorsSimilar(Color c1, Color c2, int tolerance)
{
return Math.Abs(c1.R - c2.R) < tolerance &&
Math.Abs(c1.G - c2.G) < tolerance &&
Math.Abs(c1.B - c2.B) < tolerance;
}
Вот мой первый список:
public static List<Color> PaletteOfSeasons()
{
List<Color> springColors = new List<Color>();
springColors.Add(ColorTranslator.FromHtml("#80a44c"));
springColors.Add(ColorTranslator.FromHtml("#b4cc3a"));
return springColors;
}
И в другом списке, я потянув пикселей с картинки:
public static IEnumerable<Color> GetPixels(Bitmap bitmap)
{
for (int x = 0; x < bitmap.Width; x++)
{
for (int y = 0; y < bitmap.Height; y++)
{
Color pixel = bitmap.GetPixel(x, y);
yield return pixel;
}
}
}
И вопрос, как я могу сравнить эти цвета?
Что вы хотите сделать с * результат * сравнения? Вы пытаетесь * сортировать * «Список»? Вы хотите удалить дубликаты? –
Side-note: почему у вас есть метод, который принимает «Список», который будет воссоздан, а затем возвращен из метода? Ему не нужен параметр. –
Я хочу найти похожие цвета, сравнивающие мои статические цвета с цветами из любого изображения. – cygnus