用C++RGB值绘制直方图
Plotting a histogram with C++ RGB Values
我已经得到了图片中每个像素的RGB值,现在我想做的是基于RGB绘制直方图。因此,根据像素值,将有3条线(蓝色、绿色、红色)上下移动。但尽管如此,我不知道如何找到一种方法。有什么指导我可以利用吗?非常感谢。
p.S:我使用的是C++项目应用程序,而不是C++控制台应用程序。
编辑:我正在使用Microsoft Visual Studio 2010
编辑:我尝试绘制X轴和Y轴。
我知道Y可以保持不变,但在X轴上,X轴必须在Y轴上显示RGB值。有什么办法绕过它吗?
对不起,如果我听起来很困惑,希望你明白我的意思。
MoveTo
和LineTo
用于在Windows中绘制线条,通常用于响应WM_PAINT消息。在调用DC之前,请在DC中选择合适颜色的笔。
您需要将直方图值缩放到Y比例。选择最大Y值,并对每个直方图值使用y = histogram[x] * height / maxY
。
从你的问题中我可以理解,你是这类任务的初学者。在这种情况下,我向我们推荐一些第三方GUI库,它为您完成了大部分工作。最好的选择可能是诺基亚的Qt(提供Visual Studio插件)和基于Qt的名为QWT的免费库,该库非常适合绘制直方图、声谱图和许多其他技术绘图。至少你可以浏览源代码,并启发自己如何以自己的方式完成它。
当然,您可以通过使用本机Windowsneneneba API(GDI+)来做到这一点,但这真的很痛苦。
相关文章:
- QuadTree只在窗口的右上角绘制
- 绘制旋转的三角形
- flutter:即使shouldRepaint()返回true,自定义画家也不会重新绘制
- 如何在QT中的自定义视频小工具t上绘制矩形
- 如何在Visual Basic中使用矩形函数OpenGL绘制矩形
- 无法使用VAO和EBO(openGL)绘制多个对象
- 为什么我的点没有在 OpenGL 中绘制鼠标所在的位置?
- 绘制顺时针三角形,重新排序点
- 在顶点着色器中使用 OpenGl 的未声明标识符,我在顶点着色器中绘制三角形时遇到问题
- SFML 文本未绘制在窗口上
- 如何在快板的屏幕中显示子位图的绘制?
- 如何绘制自定义形状的元素?
- QPainter 将 QBrush 设置为 在 QT/C++ 中绘制文本
- 除非重新绘制大小,否则SDL_Texture在调整大小后呈现黑色
- 绘制文本问题
- 在 QT C++中绘制/操作多边形
- 在 ROOT 中使用不同的变量名称绘制直方图
- 如何在C++中绘制直方图和点图并保存到图片中
- 绘制深度图像的直方图
- 用C++RGB值绘制直方图