def shrinkImage(self):
'''
缩小图片
:return:
'''
scale = 0.8 #每次缩小20%
img = QImage(self.path) #创建图片实例
mgnWidth = int(originWidth * scale)
mgnHeight = int(originHeight * scale) #缩放宽高尺寸
size = QSize(mgnWidth, mgnHeight)
pixImg = QPixmap.fromImage(img.scaled(size, Qt.IgnoreAspectRatio)) #修改图片实例大小并从QImage实例中生成QPixmap实例以备放入QLabel控件中
self.imageLabel.resize(mgnWidth, mgnHeight)
self.imageLabel.setPixmap(pixImg)
基本思路是,先生成一个QImage实例,然后再缩放此实例最后将其导入QPixmap中,原先直接使用QPixmap中的scaled函数不能实现缩放功能,暂时不清楚原因,如果你看到本文章并知道原因的话,还望不吝赐教,多谢!