アップロードされた画像ファイルをリサイズして出力(表示)する

説明

アップロードされた画像ファイルを、指定したサイズにして出力(表示)するには出力するヘッダーを指定します。アップロードされた画像ファイルは特に明示しない限りPNG形式になりますので、Content-Typeにはimage/pngを指定します。
アップロードされた画像データを取得するにはテキストフィールドなどの値を取得する場合と同じようにrequest.get()を使い、パラメータにname属性の名前を指定します。例えば<input type="file" name="myImage">となっている場合はrequest.get("myImage")のように指定します。また、<form>タグにはenctype="multipart/form-data"も忘れずに指定しておきます。
取得した画像のサイズを変換するにはimages.resize()を使います。最初のパラメータにアップロードされた画像、次が横幅、最後が縦幅になります。単位はピクセルになります。この場合、画像は指定した横幅と縦幅になるわけではなく、元画像の縦横比(アスペクト比)を保ちつつ、指定したサイズになるように調整されます。

サンプルコード(抜粋)

efImage = images.resize(self.request.get("myImage"), 160, 60)
self.response.out.write(efImage)
[サンプルをダウンロード]
[戻る]
写真素材 PIXTA