Qpainter显示QImage不正确,显示为灰色,求大神教育

panrou3390 panrou3390 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我用qPainter在qlabel上显示Qimage,如果是QImage image(filePath),直接通过图片文件新建QImage的话,显示是正确的,如果用如下的方式,则显示为灰色,但是我如下设置的rgb值不是灰色的,请问各位大神,我这是哪里出错了吗?
uchar*imageBuf = new uchar[1024 * 1024 * 4];
for (int i = 0; i < 1024; i++)
{
imageBuf[4 * i] = 144;
imageBuf[4* i+1] = 98;
imageBuf[4 * i+2] = 74;
imageBuf[4 * i+3] = 0;
}
QImage image(imageBuf, 1024, 1024,1024*4, QImage::Format_RGBA8888);
QPainter painter(this);
QRectF target(0,0,400,400);
QRectF source(0,0,1000,1000);
painter.drawImage(target, image, source);
...全文

相关推荐

QT灰色头像(类似QQ离线头像)

在描述中提到的"QT灰色头像(类似QQ离线头像)",指的是在QT环境中,如何将正常的彩色头像转换为类似于QQ离线状态时显示的灰色头像。这种效果通常用于表示用户的状态,比如离线、隐身或者不可用。

雨田哥

Qt6 C++绘图实战:从RHI架构到性能优化全解析

在C++图形界面开发中,绘图是构建交互式应用的核心技术之一,它直接决定了软件的视觉效果与用户体验。其底层原理通常涉及图形API的调用、坐标变换与像素渲染。随着硬件加速的普及,现代绘图技术正从CPU光栅化转向GPU驱动,以提升复杂图形处理的效率。Qt6作为跨平台框架,通过引入全新的渲染硬件接口(RHI),统一了Vulkan、Metal、Direct3D等底层图形API,实现了“一次编写,多平台高效运行”的技术价值。这一架构革新尤其适用于桌面端、嵌入式及工业控制等需要高性能数据可视化的应用场景。本文聚焦于Qt6

weixin_30471561

现代C++桌面图形应用开发实战:从Qt环境搭建到drawPolygon绘图实现

桌面应用开发是连接算法逻辑与用户交互的关键环节,其核心在于构建直观、响应式的图形用户界面。在C++生态中,跨平台原生GUI框架通过抽象系统底层图形接口,实现了高性能、一致的用户体验。其中,Qt框架凭借其成熟的信号与槽机制、丰富的内置组件和强大的绘图系统,成为开发复杂桌面应用的首选技术方案。该框架不仅简化了事件驱动编程模型,还通过QPainter等核心类支持从基础几何图形到自定义图表的绘制,例如实现drawPolygon等功能,极大地提升了开发效率。在工程实践中,结合CMake构建工具和VSCode等现代编辑

weixin_30357231

QT绘图实战:5分钟搞定动态图片移动与抗锯齿效果(附完整代码)

本文通过实战案例详细讲解如何在QT中实现动态图片移动与抗锯齿效果。文章深入剖析了QPainter绘图系统的核心架构,包括画家模型、绘图事件机制,并重点介绍了启用Antialiasing等高级绘图技术来消除图形锯齿。同时,结合定时器与事件驱动,演示了创建流畅UI动画的完整方案,并提供了可直接运行的代码示例。

极客无极

基于Qt和OpenGL从零构建带刻度标签的三维坐标系

在三维可视化领域,坐标系是所有图形与数据定位的基石,它决定了场景中每个对象的位置与方向。理解坐标系绘制的原理,是掌握OpenGL渲染流程和三维交互的关键。传统的高层控件难以兼顾灵活性与可控性,而利用Qt的QOpenGLWidget和QPainter,通过现代OpenGL管线绘制坐标轴与刻度线,再借助投影变换将三维点映射到屏幕空间,用QPainter叠加清晰稳定的文字标签,即可实现一套轻量、可复用、支持旋转缩放的三维坐标系。这种方案既避开了第三方库的定制限制,又解决了OpenGL中文字渲染的难题,适用于三维曲

覃龙光
评论 3
收藏 已收藏
分享
返回顶部
panrou3390
Qt 21,503 成员 26,693 内容