繁体   English   中英

从256色为WritableBitmap创建自定义调色板

[英]Create custom palette for WritableBitmap from 256 Colours

我现在已经找了差不多一个小时,但是找不到答案。 我目前正在开发一个显示自定义图像(使用WritableBitmap)的程序,无论是灰度还是256色预定颜色的colourscale。

图像的输入将是一个字节数组(如果我将PixelFormat属性设置为PixelFormats.Gray8,它可以正常工作),但由于我也需要自定义颜色比例,我想创建自定义比例(一个用于灰色和一个或更多的颜色)。 我认为我需要使用的是PixelFormat.Indexed8属性,但我根本无法找到如何使用它以及如何创建自定义调色板,互联网对如何创建它没有任何帮助。

您可以创建自定义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(...);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM