小编noc*_*abu的帖子

如何在Qt中将QPixmap转换为base64 QString?

我正在使用 QT 5.7 作为一个程序,我必须将 QPixmap 转换为 base64 QString 格式。我尝试首先将 QPixmap 转换为 cv::Mat,然后添加我现有的转换流程。

Qpixmap pix;
cv::Mat pixData(pix.rows(),pix.cols(),CV_8UC3,pix.scanline());
                std::vector<uchar> IMbuffer;
                cv::imencode(".png", pixData, IMbuffer);
     QByteArray byteArray = QByteArray::fromRawData((const char*)IMbuffer.data(), IMbuffer.size());
                QString base64Image(byteArray.toBase64());
Run Code Online (Sandbox Code Playgroud)

但它返回错误:

error: 'class QPixmap' has no member named 'rows'
    cv::Mat pixData(pix.rows(),pix.cols(),CV_8UC3,pix.scanline());
                    ^
Run Code Online (Sandbox Code Playgroud)

所以很明显,从 QPixmap 到 cv::Mat 的这种转换是不兼容的。那么有没有什么简单的方法可以将QPixmap转换为base64 QString呢?

base64 qstring qt qpixmap

2
推荐指数
1
解决办法
2201
查看次数

标签 统计

base64 ×1

qpixmap ×1

qstring ×1

qt ×1