gpt4 book ai didi

c++ - QTSDK 4.8.4 中 QIMAGE 功能的替代方案

转载 作者:行者123 更新时间:2023-11-28 07:26:50 25 4
gpt4 key购买 nike

在 Qt 中是否有使用 QImage myImage(w, h, QImage::Format_ARGB32); 的替代方案? (wh为导入图片的宽高)?

这是代码:

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 provides four classes for handling image data: QImage, QPixmap, QBitmap and QPicture. QImage is designed and optimized for I/O, and for direct pixel access and manipulation, while QPixmap is designed and optimized for showing images on screen. QBitmap is only a convenience class that inherits QPixmap, ensuring a depth of 1. The isQBitmap() function returns true if a QPixmap object is really a bitmap, otherwise returns false. Finally, the QPicture class is a paint device that records and replays QPainter commands.

关于c++ - QTSDK 4.8.4 中 QIMAGE 功能的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18625292/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com