【问题标题】:Color Picker / Choser for an OpenGL ApplicationOpenGL 应用程序的颜色选择器/选择器
【发布时间】:2012-04-09 08:23:37
【问题描述】:
我正在构建一个 OpenGL 应用程序。我通读了代码项目上的 GLUI 教程,以在 OpenGL 应用程序上创建 Windows 窗体控件。但我的要求是开发一个颜色选择器/选择器,如 RGB 图表或 RGB 立方体来选择颜色。 Code 项目的教程将颜色列表显示为一个下拉框。然而,这不会真正帮助我,因为我要求它作为一个 Windows 颜色选择器出现。我知道作为对话框的颜色选择器是 Windows 应用程序的一部分。谁能建议我一种将它与我的 OpenGL 应用程序一起使用的方法?
【问题讨论】:
标签:
c++
visual-studio
visual-studio-2010
opengl
color-picker
【解决方案1】:
你可以试试fox-toolkit。它是一个基于 C++ 的工具包,用于开发图形用户界面。它为 3D 图形操作提供颜色选择器和 OpenGL 小部件。
【解决方案2】:
在 windows 上,您可以直接从 windows API 调用 ChooseColor()。它将打开本机颜色颜色选择器。如果您需要跨平台解决方案,sourceforge 上的小文件对话框也有颜色选择器并且没有主循环。
【解决方案4】:
我用我保存在内存中的简单渐变图像来做到这一点。然后我只是在图像上跟踪我的鼠标位置,并简单地从图像中读取数据(保存在 RAM 中)并为其获取 32 位 RGBA 颜色值。这比从屏幕读取像素更容易(也更快、更可靠)。
这也允许以更灵活的方式呈现调色板,只有您的想象力才是调色板外观的限制。注意:您必须在图像上使用 32 位颜色,因为如果您想要平滑的边缘,您只需将 alpha 淡化但保持颜色相同,这样颜色就不会在边缘失真。渲染图像时不要忘记启用混合。