c++ - 如何将 QImage 转换为 QByteArray?

标签 c++ qt qtgui qimage qbytearray

我正在尝试从 QImage 创建 QByteArray,但是尽管我尝试了很多变体,但我无法处理它。

我正在做的是:

QImage img_enrll; // <--- There is an image coming from another function. 

QByteArray arr((char*)img_enrll.bits(),img_enrll.byteCount());  // <-- convertion but I am not sure it is true or not. 

funcCheck((unsigned char*)arr.data(), arr.size(), 0, &sam, 1, &n);


virtual Error funcCheck (const uint8_t    src[],
                           size_t           src_len,
                           size_t           tout_ms,
                           IRawSample*      dst[],
                           size_t           dst_len,
                           size_t*          dst_n )

但是错误代码是返回无效数据。我认为将 QImage 转换为 QByteArray 是错误的。请你能帮我如何转换为 QByteArray 吗?

最佳答案

你可以这样做:

QImage img_enrll;
QByteArray arr;
QBuffer buffer(&arr);
buffer.open(QIODevice::WriteOnly);
img_enrll.save(&buffer, "yourformat");

写完之后,如果你需要这个来序列化,你最好使用 QDataStream .

关于c++ - 如何将 QImage 转换为 QByteArray?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27343576/

相关文章:

python - PyQt4 中 GridLayout 中的对齐

c++ - 二叉树 : insert node algorithm

c++ - 将宏参数中的序列转换为单独的宏

c++ - 如何在 Mac OS X 上枚举卷?

qt - 如何在调试时让 CLion 不显示 QString 值?

c++ - 在发出要在程序中使用的命令时如何获取终端的输出?

windows-10 - 我可以在 Ubuntu WSL 中使用 Python QT 开发 GUI 软件吗?

c++ - OpenGL C++ 圆与圆碰撞

使用 FFT 互相关进行 C++ 模式匹配(图像)

c++ - 我应该对已经定义的智能指针使用 make_unique 还是 reset() ?