使用BitmapPalette自定义调色板

时间:2016-01-18 12:37:12

标签: c# wpf

我在C#中创建自定义调色板。我的位图如下。

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]

1 个答案:

答案 0 :(得分:1)

Color课程可以使用FromArgbFromRgb方法,例如:

colors.Add(System.Windows.Media.Color.FromRgb(0, 0, 0));

用于创建灰度图:

for (var i = 0; i < 256; i++)
    colors.Add(System.Windows.Media.Color.FromRgb(i, i, i));