GAE/Python : 外部画像読み込み&PIL画像加工&htmlへの画像出力
Google App Engine は python2.7 から PIL が利用できるようになっており、使い方を少々調査しました。
以下は、外部 URL から画像を読み込み、読み込んだ画像を PIL で加工し、加工した画像を html へ出力するためのサンプルソースコードです。
# -*- coding: utf-8 -*-
import webapp2
import urllib2
from cStringIO import StringIO
from PIL import Image
class MainHandler(webapp2.RequestHandler):
def get(self):
#外部 URL から読み込み
url = "http://www.dango-itimi.com/blog/image/sub_banner/1.png"
filePointer = urllib2.urlopen(url)
data = filePointer.read()
filePointer.close()
#PILで加工
image = Image.open(StringIO(data))
rectangle = (5, 5, 35, 35)
image = image.crop(rectangle)
#出力用加工
output = StringIO()
image.save(output, format="png")
imageLayer = output.getvalue()
output.close()
#出力
self.response.headers["Content-Type"] = "image/png"
self.response.write(imageLayer)
app = webapp2.WSGIApplication([
('/', MainHandler)
], debug=True)
参考 stackoverflow)
How do I read image data from a URL in Python?
http://stackoverflow.com/questions/7391945/how-do-i-read-image-data-from-a-url-in-python
Using PIL to draw image on App Engine
http://stackoverflow.com/questions/15433252/using-pil-to-draw-image-on-app-engine


