Python: Comment Redimensionner Image Raster avec PyQt
J'ai besoin de trouver un moyen de re-de la taille d'une entrée de l'image raster (jpg) à une largeur/hauteur de la résolution (en pixels). Ce serait formidable si PyQt lors du redimensionnement d'une nouvelle image de garder un original de format de l'image (il n'y a pas d'étirement mais seulement mise à l'échelle).
src = '/Users/usrName/Images/originalImage.jpg' (2048x1024) (image rectangulaire ratio de 2:1)
dest= '/Users/usrName/Images/originalImage_thumb.jpg' (64x64) (l'image de sortie est carré 1:1 ratio).
Merci d'avance!
POSTÉ ENTRAÎNÉ FUNC:
...pourrait être utilisé pour redimensionner et de convertir une image au format QT supporte jusqu'à présent... comme par exemple: 'bmp', 'gif', 'jpg', 'jpeg', 'png', 'pbm', 'tiff', 'svg', 'xbm'
def resizeImageWithQT(src, dest):
pixmap = QtGui.QPixmap(src)
pixmap_resized = pixmap.scaled(720, 405, QtCore.Qt.KeepAspectRatio)
if not os.path.exists(os.path.dirname(dest)): os.makedirs(os.path.dirname(dest))
pixmap_resized.save(dest)
OriginalL'auteur alphanumeric | 2014-02-15
Vous devez vous connecter pour publier un commentaire.
Créer un pixmap:
et ensuite utiliser QPixmap.scaledToWidth ou QPixmap.scaledToHeight:
Avec un 2048x1024 image, le premier résultat en serait une image qui est 64x32, tandis que le second serait de 128x64. Évidemment, il est impossible de redimensionner une 2048x1024 image 64x64, tout en gardant le même rapport d'aspect (parce que les ratios sont différents).
Pour éviter de choisir entre la largeur ou la hauteur, vous pouvez utiliser QPixmap.l'échelle:
qui s'adaptera automatiquement à la taille la plus grande possible.
Pour redimensionner l'image à la taille exacte, n':
Bien sûr, dans ce cas, l'image qui en résulte de ne pas conserver les mêmes proportions, à moins que l'image d'origine était de 1:1.
OriginalL'auteur ekhumoro