使用Python在运行时生成图像

时间:2011-07-12 10:25:05

标签: python image runtime

长话短说...我有一个base64编码的字符串,我从数据库中检索。我需要从编码数据输出图像,但不保存文件。是否可以通过python脚本输出图像? (通过改变标题或类似的东西)?

3 个答案:

答案 0 :(得分:1)

import urllib

uri = 'data:image/jpg;base64,' + urllib.quote(raw_data)
    return(or print depending what you're using - anyway, render to html) '<img src="'+uri+'"/>'

not entirely cross-browser, IE not working, raw data needs to be base64 encoded

答案 1 :(得分:0)

查看Tkinter PhotoImage Class。它可以采用base64编码图像并显示它们。

答案 2 :(得分:0)

使用正确的HTTP标头(Content-Type)在不同的URL上提供图像数据,并在应显示它的HTML代码中使用该URL。细节取决于您使用的框架(Django?CGI?自己的HTTP服务器?)。

它应该是这样的(想象框架):

def return_record_from_db(key):
    "called for the '/item/${key}' URI"
    item = database.get(key)
    return Response("<h1>{0} <p>The image:<img src='/item/{1}/image'>"
                                                  .format(item.name, key))

def return_image_for_db_record(key):
    "called for the '/item/${key}/image' URI"
    item = database.get(key)
    return Response(binascii.a2b_base64(item.image), extra_headers="Content-Type: image/jpg")