简述
QImageReader类为从文件或设备读取图像提供了一个独立的接口。
读取图像最常用的方法是通过构造QImage和QPixmap,或通过调用QImage::load()和QPixmap::load()。QImageReader是一个专业读取图像的类,可以有更多的控制,例如,可以通过调用setScaledSize()读取图像成特定的大小,通过调用setClipRect()可以选择一个剪辑矩形,有效地只加载图像的一部分。取决于底层支持的图片格式,这可以节省内存,加快加载图片。
常用接口
公共函数
void setFileName(const QString & fileName)
为fileName设置文件名。在内部,QImageReader将创建一个QFile,以只读模式( QIODevice::ReadOnly)打开它,并使用此文件写入图像。void setFormat(const QByteArray & format)
设置写入图像时的格式,格式不区分大小写。
QImageReader reader;
reader.setFormat("png");
// 同reader.setFormat("PNG");
QStringList textKeys() const
返回此图片的所有keys。可以通过使用text()列出了这些key对应的文本。QString text(const QString & key) const
返回与key对应的文本。-
bool supportsOption(QImageIOHandler::ImageOption option) const
如果reader支持选项option,返回true;否则返回false。不同的图像格式支持不同的选项。调用此函数,可以确定当前格式是否支持一个特定的选项。例如:PNG格式允许嵌入文字到图像的元数据(见text())。
QImageReader reader(":/image.png");
if (reader.supportsOption(QImageIOHandler::Size))
qDebug() << "Size:" << reader.size();
-
void setQuality(int quality)
设置图像格式的质量。quality的取值范围依赖于图像格式。