Генерация изображений во время выполнения с Python - PullRequest
1 голос
/ 12 июля 2011

Короче говоря ... У меня есть строка в кодировке base64, которую я извлекаю из базы данных. Мне нужно вывести изображение из закодированных данных, но без сохранения файла. Можно ли вывести изображение через скрипт Python? (изменяя заголовок или что-то в этом роде)?

Ответы [ 3 ]

1 голос
/ 13 июля 2011
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
0 голосов
/ 13 июля 2011

Служите данным изображения по другому URL с правильными заголовками HTTP (Content-Type) и используйте этот URL в коде HTML, который должен отображать его. Детали зависят от используемой вами структуры (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")
0 голосов
/ 12 июля 2011

Взгляните на Tkinter PhotoImage Class . Может принимать изображения в кодировке base64 и отображать их.

...