繁体   English   中英

rgb值到QImage的向量

[英]Vector of rgb values to QImage

嗨,我需要帮助的上下文如下。 我构造了一个rgb值的向量(一个rgb值是一个UInt32),我想将它们尽可能快地放入QImage中,最好不要使用setPixel,因为它非常慢。 要获取第一个rgb值并将其置于图像中的[0,0],将下一个值置于[0,1],依此类推。 谁能帮我这个?

您需要 QImage构造函数。 诀窍仅在于选择正确的Format 我想在您的情况下,它将是QImage :: Format_RGB32。

因此,请尝试:

std::vector<int32_t> pixels{/*init or fill-up your data*/};
int width = 42, height = 42; // your valid values here

// what you're interesting in
auto image(Qimage((uchar *)pixels.data(), width, height, QImage::Format_RGB32));

这种方法是最快的方法-不会复制像素,但是QImage将在内部使用原始缓冲区。

如果以后要使用QPainter :: drawImage渲染图像,请不要忘记将Qt :: NoFormatConversion作为标志传递-这将提高应用程序性能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM