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

时间:2015-07-01 16:23:59

标签: 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.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的大小似乎没有改变 - 我在这里错过了一些明显的东西吗?

1 个答案:

答案 0 :(得分:2)

我之前没有使用PySide,但是.scaled做了就地替换。文档似乎建议它返回一个新的QPixmap,代码不会保存。

也许这会有所帮助:

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