Qt如何读取ico文件中的image(使用QImageReader和QIcon)

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;
}

http://blog.csdn.net/lorenliu/article/details/6218757

原文地址:https://www.cnblogs.com/findumars/p/5155741.html