[英]Qt: save QPixmap to std::vector<unsigned char> - or convert QByteArray to std::vector<unsigned char>
[英]std::vector<unsigned char> to QPixmap
我可以通過QByteArray
發送和獲取QPixmap
:
QPixmap pixmap1;
QByteArray rawPixels;
QBuffer buffer(&rawPixels);
buffer.open(QIODevice::WriteOnly);
pixmap1.save(&buffer, "PNG");
QPixmap pixmap2;
pixmap2.loadFromData(rawPixels,"PNG");
但我必須使用std::vector<unsigned char>
發送我的像素圖:
std::vector<unsigned char> vector;
int size = rawPixels.size();
char* temp = (char*) rawPixels.constData();
vector.resize(size);
for(int index = 0; index < size; index++)
{
vector.push_back(temp[index]);
}
有沒有一種簡單的方法可以從std::vector<unsigned char>
獲取QPixmap
?
您可以將loadFromData與無符號char數組一起使用
bool QPixmap::loadFromData ( const uchar * data, uint len, const char * format = 0,
Qt::ImageConversionFlags flags = Qt::AutoColor )
使用vector.data()獲取連續的基礎數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.