gpt4 book ai didi

c++ - 比 GetPixel() 更快?

转载 作者:行者123 更新时间:2023-11-28 06:36:13 24 4
gpt4 key购买 nike

我如何用更快的东西替换 GetPixel()

目前我正在使用:

temp = GetPixel(hMonitor, 1, 1);
if (pixelArray[0] != temp)
{
pixelArray[0] = temp;
counter++;
}

以上代码只是一个简化的例子。

这包含在显示器上所有像素的 for 循环中。它将一个像素 (temp) 与前一个数组的像素 (pixelArray) 进行比较。如果已更改,则更换它。然而,我发现对显示器上的每个像素使用 GetPixel() 需要很长时间。

我一直在阅读其他类似性质的问题,例如:

Fastest method of screen capturing

Get Pixel color fastest way?

...但我不确定哪种方法更好,例如 GDI 或 DirectX,也不确定我将如何实现这些方法。

更新:Windows GDI(使用 GetObject)到像素数组是我所需要的,谢谢。这比 GetPixel() 快得多。

最佳答案

我建议您检索指向位图像素数据的指针(假设您有一个 HBITMAP 句柄)。

这是通过 GetObject() 完成的,它应该返回一个 BITMAP structure .这是您感兴趣的领域:

bmBits: A pointer to the location of the bit values for the bitmap. The bmBits member must be a pointer to an array of character (1-byte) values.

然后您可以在缓冲区上按像素运行检查逻辑。使用 GetPixel 会更快。

关于c++ - 比 GetPixel() 更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26727293/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com