下のようなプログラムでwidthとheightプロパティーにアクセスしようとするとエラーが発生した。
import os import webapp2 from google.appengine.ext import blobstore from google.appengine.ext.webapp import blobstore_handlers from google.appengine.ext import db from google.appengine.ext import ndb from google.appengine.api import images class CreateHogeHandler(blobstore_handlers.BlobstoreUploadHandler): def post(self): try: uploaded_image_key = self.get_uploads()[0] uploaded_image_key = uploaded_image_key.key() img = images.Image(blob_key=uploaded_image_key) width = img.width height = img.height try: pass except BaseException,val: passエラーの内容をよくよく確認すると、一度、transformさせないといけないらしく、下のように組んだらエラーがなくなった。
import os import webapp2 from google.appengine.ext import blobstore from google.appengine.ext.webapp import blobstore_handlers from google.appengine.ext import db from google.appengine.ext import ndb from google.appengine.api import images class CreateHogeHandler(blobstore_handlers.BlobstoreUploadHandler): def post(self): try: uploaded_image_key = self.get_uploads()[0] uploaded_image_key = uploaded_image_key.key() img = images.Image(blob_key=uploaded_image_key) img.rotate(0) img.execute_transforms(output_encoding=images.JPEG) width = img.width height = img.height try: pass except BaseException,val: passこれ、毎回、毎回、execute_transformsをコールしないと思うと、結構、無駄な気がするのだが。
もっと効率のいい方法はないのだろうか?
0 コメント:
コメントを投稿