Se l'immagine viene memorizzata in un BlobProperty, quindi i dati sono memorizzati nel datastore, e se profile
è la vostra entità, quindi l'altezza si può accedere come:
from google.appengine.api import images
height = images.Image(image_data=profile.avatar).height
Se l'immagine è nella blobstore, (blobstore.BlobReferenceProperty nel datastore), quindi hai 2 modi per farlo, il modo migliore è complicato e richiede di ottenere un lettore per il blob e di alimentarlo a un lettore exif per ottenere le dimensioni. Un modo più semplice è:
se avatar = db.BlobReferenceProperty()
e profile
è la vostra entità, allora:
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
si può mostrare anche il miglior metodo/complicata pure qui? – Lipis
wow fantastico. Mi stavo chiedendo perché non potessi ottenere la larghezza –