簡體   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