使用Django模板系统在图像上显示基于坐标的文本

时间:2013-07-17 13:10:29

标签: django image excel coordinate

我目前正在尝试使用从Django获取的数据更新excel-map,并将其显示在链接到我的管理员的页面上。

excel-“地图”:

enter image description here

使用xlrd& cie libs我正在研究获取/更新数据部分,但是一位开发人员告诉我他会使用图像代替。

我的问题是:我怎么能这样做?显示上述电子表格的副本并使用基于行的坐标来编写我想要的数据? (文本数据)

你们是否知道在Django的模板中使用基于坐标的文本显示轻松工作的方法?

感谢你们给我的任何帮助!

1 个答案:

答案 0 :(得分:0)

我最终使用了PIL库。最后这很简单,可以通过以下代码进行总结:

from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont

im = Image.open('path/to/map.png')
font = ImageFont.truetype('/usr/share/fonts/dejavu/DejaVuSans.ttf', 7)
draw = ImageDraw.Draw(im)

draw.text((x, y), sentence, font=font, fill='black')

response = HttpResponse(mimetype='image/png')
im.save(response, 'PNG')

return response

x和y背后的逻辑在这里是无关紧要的,但请记住,它们在图像的左上角开始非常不合逻辑,并从那里向右和向下带正数。