QTSDK 4.8.4 中 QIMAGE 函数的替代方法
Alternative for QIMAGE function in QTSDK 4.8.4
在Qt中使用QImage myImage(w, h, QImage::Format_ARGB32);
有没有其他方法?(w
和h
是导入图片的宽度和高度)?
这是代码:
if (tif) {
uint32 w, h;
TIFFGetField(tif, TIFFTAG_IMAGEWIDTH, &w);
TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &h);
QImage myImage(w, h, QImage::Format_ARGB32);
if (!myImage.isNull()) {
if (TIFFReadRGBAImage(tif, w, h, reinterpret_cast<uint32 *>(myImage.bits()), 0)) {
myImage = myImage.rgbSwapped();
myImage = myImage.mirrored();
}
else {
return ImageStatePtr(0);
}
}
TIFFClose(tif);
ImageStatePtr ptr = ImageStatePtr(new ImageState(QFileInfo(filename).fileName(), myImage));
return ptr;
}
else return ImageStatePtr(0);
}
我需要将 QImage 替换为具有相同功能的替代方案。出于某种原因,我不允许在我的项目中使用 QImage。
如果要导入图像,可能需要以下内容:
QImage::QImage ( const QString & fileName, const char * format = 0 );
您可以简单地使用这种方式:
QImage myImage("test.png");
您也可以改用 QPixmap:
QPixmap myPixmap("test.png");
QImage和QPixmap对于不同的任务很有用。文件说:
Qt提供了四个类来处理图像数据:QImage,QPixmap, QBitmap和QPicture。QIimage针对I/O进行了设计和优化,并且 用于直接像素访问和操作,而 QPixmap 设计 并针对在屏幕上显示图像进行了优化。QBitmap只是一个 继承 QPixmap 的便利类,保证深度为 1。这 isQBitmap() 函数返回 true 如果 QPixmap 对象确实是一个 位图,否则返回 false。最后,QPicture 类是一个 绘制记录和重播 QPainter 命令的设备。
相关文章:
- 为不同配置设置MSVC_RUNTIME_LIBRARY的正确方法是什么
- 通过方法访问结构
- 最小硬币更换问题(自上而下方法)
- C++为构建时间获取QDateTime的可靠方法
- 在C#中处理C++指针而不使用unsafe的最佳方法
- 处理多个异常集合的C++方法
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- 有什么方法可以遍历结构吗
- 当类在C++中定义时,有什么方法可以"register"类吗?
- 在C++中,将大的无符号浮点数四舍五入为整数的最佳方法是什么
- 实现无开销push_back的最佳方法是什么
- 使用std::函数映射对象方法
- 有符号的int和int-有没有一种方法可以在C++中区分它们
- 将QImage的像素复制到数组的最快方法是什么?
- 将QImage绑定到纹理以在QOpenGLWidget中显示视频的正确方法是什么
- 将IplImage IPL_DEPTH_32S转换为QImage Format_RGB32的最快方法
- 将 QImage 传递给方法 - 指针混淆
- 在类方法之间传递 QImage 对象
- QTSDK 4.8.4 中 QIMAGE 函数的替代方法
- 访问QImage中像素的最快方法是什么