我们可以挂钩屏幕缓冲区并在某些坐标处更改颜色吗?

时间:2015-08-18 02:55:31

标签: windows winapi colors screen hook

我想创建一个颜色映射器,它将在屏幕上找到任何匹配的颜色,然后渲染映射的颜色。这对于某些颜色百叶窗很有用(例如它们看不到红色,因此所有红色像素都应该映射到一些蓝色像素)。

我知道gdi32函数GetPixelSetPixel,但我相当肯定性能会很差。从技术上讲,你必须遍历所有屏幕坐标,获取像素,检查它并设置像素。当我们这样做时,循环对提高性能也很重要。但任何方式都会相当密集。

如果我们可以将某些内容挂钩到操作系统的渲染过程(例如屏幕缓冲区......)来检查和修改那里的像素,那将是理想的选择。这与WPF支持允许我们注入一些像素着色器(通过Effect属性)的图层非常相似。

我想就你如何做到这一点得到一些建议。如果建议使用一些Win API函数名称就足够了,因为我已经知道如何与EasyHook挂钩。 我确信这是可能的,但可能很难做到。任何建议都将不胜感激。

0 个答案:

没有答案