解决方案:将图片数据转换为QByteArray发送,通过图片的大小进行解析。
1.图片转QByteArray
方法1:利用QPixmap图像最终为多通道;
QByteArray _imgData;
QPixmap tempPixmap = QPixmap::fromImage(image,Qt::MonoOnly);
QBuffer buffer;
buffer.open(QIODevice::ReadWrite);
tempPixmap.save(&buffer, "bmp");
_imgData.append(buffer.data());
方法2:QBuffer,为实际数据
QByteArray _imgData;
QByteArray ba;
QBuffer buffer(&_imgData);
buffer.open(QIODevice::WriteOnly);
image.save(&buffer, "BMP"); // writes image into ba in BMP format
2.QByteArray转图片
QByteArray imgData;
QBuffer buffer(&imgData);
buffer.open(QIODevice::ReadOnly);
QImageReader reader(&buffer, "bmp");
QImage image = reader.read();