控制投影仪的各个像素

时间:2011-04-18 12:49:53

标签: c++ c image r opengl

我需要控制投影机(Infocus IN3104)的个别像素,其原始分辨率为1024x768。我想通过以下方式知道C或APL中哪些子集函数:

  1. 控制适配器各个像素的功能(不是窗口的像素)。

  2. 从图像文件(1024x728)到以投影机原始分辨率设置的适配器的完美像素1:1地图。

  3. 在一个相关的问题中([如何编辑窗口中的单个像素?] [1])回答者Caladain表示“事情已经从直接记忆操作的过去有所改变。”我觉得我需要回到那里来实现我的目标。

    我不太了解“图形管道”以了解要使用的API或软件工具。当我搜索这个主题时,我对技术的数量感到不知所措。我在R中编程,它很容易与C接口,但是欢迎在OpenGL或C ++或其他任何技术中使用子集函数的建议吗?

    甚至是一个完整的应用程序(渲染),它将在不应用转换的情况下进行映射。

    例如,即使MS绘画具有> VIEW>位图,但我应用了一些变换,并且我没有获得像素完美渲染。这台投影机有DisplayLink数字输入,我还试图在使用VESA输入时调整时序参数,我不认为投影机会发生转换。无论如何,使用MS涂料对我来说不够灵活。

    平台:Linux或Windows。

2 个答案:

答案 0 :(得分:5)

我没有看到全屏窗口的原因,例如:使用SDL,将无法正常工作。正常的位图图形总是1:1,不应该在你的背后进行任何奇怪的缩放以获得全屏:ed窗口。

由于SDL是可移植的,因此您应该能够在Windows或Linux(或任何其他支持的平台)中运行相同的代码。

答案 1 :(得分:2)

在当前系统上解决此问题的常用方法是:

  1. 将显卡设置为所需的分辨率
  2. 创建无边框全屏窗口
  3. 画出你想要的任何东西
  4. “低级别访问”实际上并没有什么好处,尽管它当然是可能的。