PyQt5 对图片进行缩放的实例

yipeiwu_com6年前Python基础

如下所示:

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函数不能实现缩放功能,暂时不清楚原因,如果你看到本文章并知道原因的话,还望不吝赐教,多谢!

以上这篇PyQt5 对图片进行缩放的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python返回数组/List长度的实例

其实很简单,用len函数: >>> array = [0,1,2,3,4,5] >>> print len(array) 6 同样,要获取...

详解在Python的Django框架中创建模板库的方法

不管是写自定义标签还是过滤器,第一件要做的事是创建模板库(Django能够导入的基本结构)。 创建一个模板库分两步走:     第一,决定模板库应该放在哪个...

Python中低维数组填充高维数组的实现

Python中低维数组填充高维数组的实现

今天遇到这样一种业务情况: 我的图片的画布是(4,4,3)的三维数组,而得到的图片是(2,2,3)的三维数组,我要把图片放到画布的中间某个位置应该怎么做呢? 大家首先想到是遍历循环,但是...

python多行字符串拼接使用小括号的方法

多行字符串拼接使用小括号 s = ('select *' 'from atable' 'where id=888') print s, type(s) #输出 select...

python获取Pandas列名的几种方法

 获取DataFrame虽然是一个比较简单的操作,但是有时候到手边就是写不出来,所以在这里总结记录一下: 1.链表推倒式 data = pd.read_csv('data/...