我现在已经找了差不多一个小时,但是找不到答案。我目前正在开发一个显示自定义图像(使用WritableBitmap)的程序,无论是灰度还是256色预定颜色。
图像的输入将是一个字节数组(如果我将PixelFormat属性设置为PixelFormats.Gray8,它可以正常工作),但由于我也需要自定义颜色比例,我想创建自定义比例(一个用于灰色和一个或多个颜色)。我认为我需要使用的是PixelFormat.Indexed8属性,但我根本无法找到如何使用它以及如何创建自定义调色板,互联网对如何创建它没有任何帮助。
答案 0 :(得分:3)
您可以创建自定义BitmapPalette
并将其应用于新的WriteableBitmap
:
var myPalette = new BitmapPalette(new List<Color>
{
Colors.Red,
Colors.Blue,
Colors.Green,
// ...
});
var writeableBitmap = new WriteableBitmap(
width,
height,
96,
96,
PixelFormats.Indexed8, // Paletted bitmap with 256 colours
myPalette);
writeableBitmap.WritePixels(...);