c++ - 可以将 QImage 文件内容加载到 QString 吗?

标签 c++ qt qstring qtgui qimage

是否可以使用 QT 加载图像文件的原始内容并将其作为 QString?

我问的原因是因为我需要加载图像、加密图像数据然后将其发送到服务器。所以我需要从图像中读取原始数据并在发送之前进行 rijndael-128 加密。

谢谢!

最佳答案

图像数据不像QString那样辅助UTF字符的表示,所以这种转换思路听起来很奇怪。如果有的话,我建议使用 QByteArray 和/或 QDataStream 发送原始文件数据。

无论哪种方式,您都可以使用以下方法来解决您的原始问题。这将是第一步,然后您可以构建您的 QByteArray 或 QString。请注意,这些方法返回 unsigned char,而不是上述类的构造函数所期望的 signed。

uchar * QImage::bits()

Returns a pointer to the first pixel data. This is equivalent to scanLine(0).

Note that QImage uses implicit data sharing. This function performs a deep copy of the shared pixel data, thus ensuring that this QImage is the only one using the current return value.

const uchar * QImage::bits() const

This is an overloaded function.

const uchar * QImage::constBits() const

Returns a pointer to the first pixel data.

Note that QImage uses implicit data sharing, but this function does not perform a deep copy of the shared pixel data, because the returned data is const.

关于c++ - 可以将 QImage 文件内容加载到 QString 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20939677/

相关文章:

c++ - 私有(private)继承和构造函数

c++ - c++中基于点的重力示例

Qt:如何在 QGraphicsView 中单击并拖动以橡皮筋选择接受鼠标单击的项目?

c++ - QOpenGLFunctions_4_3_与 QOpenGLContext::versionFunctions 的兼容性

c++ - 如何从 QString 获取 const char *

c++ - 运算符 << 用于 QString

c++ - 为什么 QString 和 vector<unique_ptr<int>> 在这里显得不兼容?

c++ - 类的自定义操纵器

c++ - 内存映射文件 - 映射结构而不是文件?

css - 操纵 Qt 表格单元格间距