C++ QTSDK 4.8.4中QIMAGE函数的替代方案

C++ QTSDK 4.8.4中QIMAGE函数的替代方案,c++,qt,qimage,C++,Qt,Qimage,是否有使用QImage-myImage(w,h,QImage::Format_ARGB32)的替代方法在Qt中?(w和h是导入图片的宽度和高度) 代码如下: if (tif) { uint32 w, h; TIFFGetField(tif, TIFFTAG_IMAGEWIDTH, &w); TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &h); QImage myIm

是否有使用
QImage-myImage(w,h,QImage::Format_ARGB32)的替代方法在Qt中?(
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);
}
if(tif){
uint32 w,h;
TIFFGetField(tif、TIFFTAG_IMAGEWIDTH和w);
TIFFGetField(tif、TIFFTAG_IMAGELENGTH和h);
QImage-myImage(w,h,QImage::Format_ARGB32);
如果(!myImage.isNull()){
if(TIFFReadRGBAImage(tif、w、h、重新解释投影(myImage.bits()),0)){
myImage=myImage.rgbSwapped();
myImage=myImage.mirrored();
}
否则{
返回ImageStatePtr(0);
}
}
TIFFClose(tif);
ImageStatePtr ptr=ImageStatePtr(新的ImageState(QFileInfo(filename).filename(),myImage));
返回ptr;
}
否则返回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。QImage针对I/O进行了设计和优化,以及 用于直接像素访问和操作,同时设计了QPixmap 并针对在屏幕上显示图像进行了优化。QBitmap只是一个 继承QPixmap的便利类,确保深度为1。这个 如果QPixmap对象实际上是一个 位图,否则返回false。最后,QPicture类是一个 记录和重放QPaint命令的绘制设备


你为什么需要另一种选择?只有到那时,你才能想出什么替代方案(如果有的话)。你必须告诉我们你到底想要达到什么,甚至是为什么你不能使用QImage?(如果这是家庭作业,请注明)。否则,我们无法知道您还可以使用或不使用什么(您可以使用QPixmap吗??),以及什么适合您的具体问题。Thx将代码和附加信息移到了它所属的位置,现在它更干净了:-)无论如何,只有当您告诉我们您最终要实现的目标时,还有为什么不允许你使用QImage
,人们可以给你提供一个替代方案。这是我们正在创建的应用程序的一种特殊插件,出于未知的原因,我不允许使用QImage。我需要通过不使用该函数使此代码正常工作。