【问题标题】:Convert byte array to picture将字节数组转换为图片
【发布时间】:2015-03-29 10:30:19
【问题描述】:

您好,我尝试将字节数组转换为图像,但每次我得到一个空图像时,有人可以帮助我吗?

QImage image("p.jpg");
qDebug()<<image;
  QImage image2;
QByteArray paquet2;
QDataStream out2(&paquet2, QIODevice::WriteOnly);

out2 << image;

qDebug()<<image2.fromData(paquet2,"jpg");

qDebug 1 结果:QImage(Qsize(500,500))
qDebug 2 结果:QImage(Qsize(0,0))

【问题讨论】:

    标签: c++ qt


    【解决方案1】:

    fromData() 是一个静态方法。

    改用image2.loadFromData(paquet2)QImage::fromData(paquet2)

    我注意到一些很奇怪的东西,这段代码按预期工作:

      QImage img("...");
      QByteArray data;
      QBuffer buff(&data);
      QDataStream out(&buff);
      out << img;
      qDebug() << QImage::fromData(data);
    

    但它会警告IODevice 未打开。

    如果我手动buff.open()fromData() 会再次生成空图像。

    如果没有明确打开,openMode() 会自动设置为 Unbuffered | WriteOnly 并且它可以工作,如果我将 open() 它明确设置为Unbuffered | WriteOnly 它不起作用。去图...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      • 2010-09-26
      • 2015-08-16
      • 2013-05-19
      相关资源
      最近更新 更多