0

Pycairoを使用して動的に作成されたpng画像を生成し、Djangoを使用して提供したいと思います。私はこれを読みました:動的に生成された画像をDjangoで提供します。

PycairoサーフェスからHTTP応答に直接データを転送する方法はありますか?私は今のところこれをやっています:

data = surface.to_rgba()
im = Image.frombuffer ("RGBA", (width, height), data, "raw", "RGBA", 0,1)
response = HttpResponse(mimetype="image/png")
im.save(response, "PNG")
return response

しかし、to_rgba呼び出しがないため、実際には機能しません(この呼び出しは、Googleコードを使用して見つけましたが、機能しません)。

編集:to_rgbaは正しい呼び出しget_data()で置き換えることができますが、それでもPILを完全にバイパスできるかどうかを知りたいです。

4

2 に答える 2

7
def someView(request):
  surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, 100, 100)
  context = cairo.Context(surface)
  # Draw something ...

  response = HttpResponse(mimetype="image/png")
  surface.write_to_png(response)
  return response
于 2010-06-15T13:02:06.313 に答える
0

これを試すことができます:http: //www.stuartaxon.com/2010/02/03/using-cairo-to-generate-svg-in-django これはSVGについてですが、適応するのは簡単だと思います

于 2010-06-10T10:43:31.363 に答える