Jeśli obraz jest przechowywany w BlobProperty, a następnie dane są przechowywane w magazynie danych, a jeżeli profile
ma swój podmiot, wówczas wysokość mogą być dostępne jako:
from google.appengine.api import images
height = images.Image(image_data=profile.avatar).height
Jeśli obraz jest w blobstore, (blobstore.BlobReferenceProperty w magazynie danych), to masz 2 sposoby na zrobienie tego, lepszy sposób jest skomplikowany i wymaga uzyskania czytnika bloba i podania go do czytnika exif, aby uzyskać rozmiar. Łatwiejszy sposób to:
jeśli avatar = db.BlobReferenceProperty()
i profile
to podmiot, a następnie:
from google.appengine.api import images
img = images.Image(blob_key=str(profile.avatar.key()))
# we must execute a transform to access the width/height
img.im_feeling_lucky() # do a transform, otherwise GAE complains.
# set quality to 1 so the result will fit in 1MB if the image is huge
img.execute_transforms(output_encoding=images.JPEG,quality=1)
# now you can access img.height and img.width
można również pokazać lepsze/skomplikowaną metodę również tutaj? – Lipis
wow niesamowite. Zastanawiałem się, dlaczego nie mogę uzyskać szerokości –