Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用PySide快速调整PNG的大小?_Python_Image_Qt_User Interface_Pyside - Fatal编程技术网

Python 如何使用PySide快速调整PNG的大小?

Python 如何使用PySide快速调整PNG的大小?,python,image,qt,user-interface,pyside,Python,Image,Qt,User Interface,Pyside,我正在尝试制作一个小函数,它将获取一个以两倍于所需大小渲染的缩略图,并使用抗锯齿调整其大小,以便得到一个平滑的缩略图 到目前为止,我得到的是: from PySide import QtGui, QtCore def resizeImage(image, outSize): bitmap = QtGui.QPixmap(image) bitmap.scaled(QtCore.QSize(outSize, outSize),aspectMode=QtCore.Qt.KeepAsp

我正在尝试制作一个小函数,它将获取一个以两倍于所需大小渲染的缩略图,并使用抗锯齿调整其大小,以便得到一个平滑的缩略图

到目前为止,我得到的是:

from PySide import QtGui, QtCore

def resizeImage(image, outSize):
    bitmap = QtGui.QPixmap(image)
    bitmap.scaled(QtCore.QSize(outSize, outSize),aspectMode=QtCore.Qt.KeepAspectRatio,     mode=QtCore.Qt.SmoothTransformation) # original is larger than this

    print bitmap.size()
    file = QtCore.QFile(image)
    file.open(QtCore.QIODevice.WriteOnly)
    bitmap.save(file)
    file.close()

resizeImage("image.png", outSize = 256)

问题是当我调用bitmap.scaled时,pixmap的大小似乎没有改变-我是否遗漏了一些明显的内容?

我以前没有使用PySide,但确实如此。scaled执行就地替换。文档似乎建议它返回一个新的QPixmap,您的代码没有保存它

也许这会有帮助:

bitmap=bitmap.scaled(QtCore.QSize(outSize, outSize),aspectMode=QtCore.Qt.KeepAspectRatio,     mode=QtCore.Qt.SmoothTransformation)

这就解决了!我应该早点发现的:I’谢谢你的帮助