使用Pycairo动态生成图像,并在Django服务
-
25-09-2019 - |
题
我想生成与Pycairo一个动态创建PNG图像和服务于它usign Django的。我阅读此:即成一个动态产生的图像使用Django 。 p>
有一种方法以从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调用(此调用,我发现使用谷歌的代码,但不工作),它实际上是行不通的。
编辑:该to_rgba可以通过正确的呼叫GET_DATA()来代替,但我仍然想知道是否能旁路PIL共
解决方案
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
其他提示
您可以试试这个: HTTP://www.stuartaxon。 COM / 2010/02/03 /使用开罗到产生-SVG-中,Django的 这是关于SVG,但我认为它会很容易适应。
不隶属于 StackOverflow