Qt如何读取ico文件中的image

来源:互联网 发布:淘宝招商的工作好做吗 编辑:程序博客网 时间:2024/06/16 12:41

ico文件是一个容器,内部可以装载许多个image,我们可以通过QIcon的pixmap方法来获取需要的image

 

QPixmap pixmap ( const QSize & size, Mode mode = Normal, State state = Off ) const

 

该方法通过输入一个给定的QSize来返回相应的图片,得到的图片会小于等于给定的大小,但不会大于该QSize值

 

但是这种方法在某种程度上就不符合我们的需要了,比如一个ico文件,内部有好几个48×48,32×32,16×16的image,调用上述方法只能得到第一个符合条件的image,因此在这种情况下,我们就需要使用另一种方法来获取指定位置的image

 

 

QImage GetImage(

 

const QString &fileName, int imageIndex)

{

    QImage image;

    QImageReader reader(fileName);

 

 

    if (reader.jumpToImage(imageIndex))

    {

        QImage image;

        reader.read(&image);

    }

 

 

 

    return image;

}