Я создаю пользовательскую палитру на C#. Мое растровое изображение выглядит следующим образом.Пользовательская цветовая палитра с BitmapPalette
List<System.Windows.Media.Color> colors = new List<System.Windows.Media.Color>();
//Add List entries here
BitmapPalette bitmapPalette = new BitmapPalette(colors);
wb = new WriteableBitmap(Width, Height, dpiX, dpiY, PixelFormats.Indexed8, bitmapPalette);
Мне нужно создать карту от 0-255. Как это сделать проще всего?
colors.Add(System.Windows.Media.Colors.Red);
colors.Add(System.Windows.Media.Colors.Blue);
colors.Add(System.Windows.Media.Colors.Green);
Один из способов заполнения такой, как показано, но заполнение всех 255 записей таким образом не имеет смысла. Как заполнить значения пикселей напрямую, а не System.Windows.Media.Colors.[Color]
?
это то, что вы хотите ?? https://msdn.microsoft.com/en-us/library/system.windows.media.color.fromargb(v=vs.110).aspx – PaulF
Используйте [Color.FromRgb] (https://msdn.microsoft .com/en-us/library/system.windows.media.color.fromrgb (v = vs.110) .aspx) или [Color.FromArgb] (https://msdn.microsoft.com/en-us/library /system.windows.media.color.fromargb(v=vs.110).aspx). – Clemens