我正在尝试制作一个小功能,它会将缩略图渲染为所需大小的两倍,并使用抗锯齿功能调整大小,以便结果是一个漂亮的平滑缩略图。
这是我到目前为止所得到的:
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的大小似乎没有改变 - 我在这里错过了一些明显的东西吗?
答案 0 :(得分:2)
我之前没有使用PySide,但是.scaled做了就地替换。文档似乎建议它返回一个新的QPixmap,代码不会保存。
也许这会有所帮助:
bitmap=bitmap.scaled(QtCore.QSize(outSize, outSize),aspectMode=QtCore.Qt.KeepAspectRatio, mode=QtCore.Qt.SmoothTransformation)