Home > Archives > 2009-08

2009-08

PILで、Image#tostringができない

djangoから動的にQRコードを作ろうとしていて、ImageをtostringしてHttpResponseに渡せば良いかと思っていたら、なんか動かない。
引数の指定によって「unknown raw mode」とか「encoder png not available」とかいいやがる。
結局どう指定しても動かない。
仕方ないので、Image#saveの結果をStringIOで一回受けて、それを返すことにする。

動かなかったコード

PYTHON:
  1. return HttpResponse(im.tostring('png', 'RGB'), 'image/png')

多分これで動く

PYTHON:
  1. from cStringIO StringIO
  2. s = StringIO()
  3. im.save(s, 'png')
  4. return HttpResnponse(s.getvalue(), 'image/png')

こんなんでいいのかな?

Home > Archives > 2009-08

Search
Feeds
Meta

Return to page top