1

GAE を使用して画像をアップロードし、google.appengine.api.images を使用してサイズを変更します。しかし、アップロードされたこの画像の元のサイズを取得したいと思います。image.width と image.height を使用しようとしましたが、int を取得しました呼び出し可能なエラーではありません。助けていただければ幸いです。

以下のコードを参照してください。

class PictureUploader( webapp.RequestHandler ):
    WANNA_RATIO_ = 0.833333 # icon width : height | 100 : 120
    MAX_RATIO_ = 0.913043 # 105 : 115
    MIN_RATIO_ = 0.76 # 95 : 125
    def get( self ):
        self.post()

    def post( self ):
        if not check_session(self):
            self.redirect('login', True)

        from google.appengine.api import images   
        image_ = images.Image( self.request.get( 'picture' ) )

        from decimal import Decimal   
        i_width = Decimal( image_.size[0] )
        i_height = Decimal( image_.size[1] )
        w_h_ratio = i_width / i_height 
        if PictureUploader.MIN_RATIO_ > w_h_ratio: # picture too narrow
            h_ratio = i_height/120
            expected_w = Decimal("%.6f"%(i_width/h_ratio))
            image_ = images.resize(image_,expected_w,120)
        elif PictureUploader.MAX_RATIO_ < w_h_ratio: # picture too short
            w_ratio = i_width/100
            expected_h = Decimal("%.6f"%(i_height/w_ratio))
            image_ = images.resize(image_,100,expected_h)
        else:
            image_ = images.resize( image_, 100, 120 )

        models.Life(user = self.session['key'],pictureblob=image_).put()

image_.size[0] が表示されますが、機能しません。

4

1 に答える 1

1

使用する

image.height
image.width

発生するエラーは、次のようなプロパティを呼び出していることを意味します。

image.height() -> wrong
image.width()  -> wrong
于 2012-10-17T16:24:32.787 に答える