我想用 python/django 为我的网页制作简单的图表,但我不知道该使用哪个库(以及如何)。
我不想要图表,我寻求一种方法来从像矩形这样的基元创建图像。
每个这样的图可能只生成并使用一次,因为下一次值会有所不同。
我可以简单地计算其中所有矩形、线条或文本的位置,所以我想要一些轻量级的东西来从中创建图片,我将以 img/png(或类似)mime 样式返回像 要显示的参数将由 session 和数据库决定。
我可以预先计算所有尺寸,所以我想要一些简单的东西
img=Image(PNG,598,89) # style, x, y
img.add_text('1.3.', 10,10)
img.add_rectagle(20,10, 70,20, CYAN, BLACK)
....
return img.render()
你能指导我,怎么做吗?
先谢谢
navit搞定了:)
# from django.utils.httpwrappers import HttpResponse
from PIL import Image, ImageDraw
import os,sys
im = Image.new('RGB',(598,89),'white')
draw = ImageDraw.Draw(im)
draw.rectangle((0,0,im.size[0]-1,im.size[1]-1), outline='blue')
draw.rectangle((25,10,590,20), fill='white', outline='black')
draw.rectangle((25,10,70,20), fill='rgb(255,0,0)', outline='black')
draw.rectangle((70,10,90,20), fill='green', outline='black')
draw.text((1,10),'1.3.',fill='black')
del draw
# write to stdout
im.save(sys.stdout, "PNG")
# draw.flush()
# response = HttpResponse(mimetype="image/png")
# image.save(response, "PNG")
# return response
你应该看看 Pillow。这是它如何工作的示例:
from PIL import Image, ImageDraw
im = Image.open("lena.pgm")
draw = ImageDraw.Draw(im)
draw.line((0, 0) + im.size, fill=128)
draw.line((0, im.size[1], im.size[0], 0), fill=128)
del draw
# write to stdout
im.save(sys.stdout, "PNG")
从 Pillow 向您的客户提供文件应该很简单。如果您有任何问题,请告诉我。
编辑:发现these帮助您入门的示例。
我是一名优秀的程序员,十分优秀!