什么是使用Win32 DIB的颜色查找表的正确方法?
我正在编写一些代码来对16位DICOM图像(在内存中加载为16位DIB)执行窗口调平。我的窗口调平代码已完成,并通过生成查找表来将源像素值映射到所需的最终像素值。
我不确定的是如何将此查找表应用于图像。我看到BITMAPINFO对象上有一个字段'bmiColors',类型为RGBQUAD []。我已经尝试将查找表分配给此属性,但它似乎没有任何效果。我也尝试过SetDIBColorTable函数,但它似乎也没有对屏幕输出产生任何影响。
我正在尝试做什么(在绘画时应用我的查找表而不是修改像素数据本身)甚至在GDI中支持,或者实际上应该循环通过像素数据本身在blitting之前逐个改变像素值?
我是否使用BitBlt或SetDIBitsToDevice函数似乎也没有区别。他们在这里往往表现得一样。
如果能够更容易地实现我想要的东西,我愿意使用DirectX。我之前没有使用它,所以如果它作为答案提供,那么示例代码会很好。
我的代码非常关键,所以我正在寻找实现这一目标的最快方法,即使它可能涉及更多的工作/代码。
没有找到相关结果
已邀请:
1 个回复
勺的驴吓识