0

我试图将从 ScreenShot 制作的 QImage 转换为 QByteArray 以通过 QTCPSocket 发送。当我将 QImage 转换为 QByteArray 并在发送之前我尝试反序列化并在标签上显示它不能!我的错误是什么?谢谢帮忙。

QByteArray ImClientShooter::toQByteArray(QImage &img)
{
    QByteArray temp;
    QDataStream data(&temp, QIODevice::ReadWrite);
    data « img;
    return temp;
}
QByteArray goOn{toQByteArray(sampleQImage)};     //sampleQImage is a QImage Object
lbl->setPixmap(QPixmap::fromImage( (QImage::fromData(goOn))));  // QLabel* lbl

从 ScreenShot 制作的 sampleQImage:

QGuiApplication::primaryScreen()->grabWindow(0).toImage();
4

1 回答 1

1

任务通过 :D

发件人:

QImage img;
QByteArray *ba;
bool flag{1};
QDataStream out(ba,QIODevice::ReadWrite);
out << img << flag;

接收者:

bool flag;
QByteArray ba;
QDataStream in(ba);
QImage temp;
in >> temp >> flag;
    if(flag)
    {
        // got correct data
    }
于 2020-06-29T07:06:28.953 回答