1
我现在一直在寻找近一个小时,但找不到答案。我目前正在开发一个程序,用256种预定颜色以灰度或色彩显示自定义图像(使用WritableBitmap)。从256色创建WritableBitmap的自定义调色板
图像的输入将是一个字节数组(如果将PixelFormat属性设置为PixelFormats.Gray8,则工作正常),但由于我也需要自定义色阶,因此我想创建自定义比例(一个灰色和一个或多个颜色)。我认为我需要使用的是PixelFormat.Indexed8属性,但我根本找不到如何使用它以及如何创建自定义调色板,而互联网对于如何创建自定义调色板并无帮助。
谢谢你的答案。好的,是的,在某些时候我已经看到了,但是如何设置256种颜色以及256个指数? 我的意思是Colors.Red很简单,但我需要添加例如Color.Fromrgb(100,100,100)等...... – phil13131
要获得灰色的列表,请使用:var myPalette = new BitmapPalette(Enumerable .Range(0,256).Select(c => Color.FromRgb((byte)c,(byte)c,(byte)c))。ToList());' –
@ phil13131您可以添加任何你喜欢的颜色到你的调色板。我使用基本颜色来保持示例简单,但也可以使用指定的颜色通道值创建颜色。调色板中的每种颜色都由它的索引号来标识,该索引号对应于其在调色板阵列中的位置。在这种情况下,颜色由调色板数组中0到255之间的索引确定。 –