【问题标题】:D3D: How can i get color from a x,y coordinate? [closed]D3D:如何从 x,y 坐标获取颜色? [关闭]
【发布时间】:2013-09-17 19:21:40
【问题描述】:

如何通过 D3D 全屏程序从 x,y 坐标获取颜色类型?

我想确定 x,y 点是否为红色 255

提前致谢。

【问题讨论】:

  • @dowhilefor 不,它不是......但只是读取 D3D API 老兄,您要做的只是读取帧缓冲区。
  • 对不起,我不明白意思,你能给我一个只检测颜色的样本吗?谢谢!

标签: c++


【解决方案1】:

由于您没有指定DX版本,因此只有简要的逐步算法

1) Render your scene to texture

2) Transfer tetxure back from GPU to CPU

3) Fill data from tetxure to memory buffer

5) Recalculate x, y to match tetxure resolution. Rendering window dimension can be different from DX device resolution (you can render smaller texture to bigger window and vice versa)

4) Do lookup at position [x,y]

如果您要问,如何从 3rd 方 DX 程序中获取像素颜色,您将不得不以某种方式拍摄应用程序的“屏幕截图”并在其中搜索颜色

【讨论】:

  • 谢谢,我正在使用 d3d8。有没有像你的步骤一样的代码示例?
  • 你到底为什么要使用 d3d8?那是 13 岁,完全不受支持的 API。至少用 dx9,还在更新中。
  • 对不起,这是因为我的程序太旧了,我不想把它改成dx9。我不得不浪费太多时间来升级它。
  • Eh.. 这样一来我很抱歉,我对 DX8 一无所知。我从 DX9 开始
  • 好的,我只是将所有内容都转换为 DX9,你能给我一个 dx9 示例代码吗?谢谢!
猜你喜欢
  • 1970-01-01
  • 2013-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多