Найти - Пользователи
Полная версия: PIL объединение картинок.
Начало » Python для новичков » PIL объединение картинок.
1
plusplus
Имеется два изображения, необходимо чтобы получилось одно в ввиде склееных двух. Изображения получаю в виде строки по http:
img1 = response1.read()
img2 = response2.read()

Пробовал использовать метод fromstring, но он выдает ошибку:
size = 75,51
im1 = Image.fromstring(“RGBA”,size,img1)
im2 = Image.fromstring(“RGBA”,size,img2)
И как их “склеить” я тоже не знаю. Хотел попробовать вот так:
outfile = Image.merge(“RGB”, (im1, img, im3))
Но думаю, что наверняка неправильно, да и не дошел я до этого шага, т.к не получился у меня метод fromstring.
igor.kaist
Сервер твой?! Отдает изображение в каком формате?!
Если на сервере PIL отдает через tostring, только в этом случае можно использовать fromstring
Иначе, открывай как файл, при помощи модуля StringIO например.
plusplus
Вот для примера, пусть изображение имеет урл http://www.codeproject.com/SiteRes/CP/Img/Std/logo225x90.gif ( Правда в моем случае jpeg).
opener = build_opener() # думаю не столь важно, что тут
url = "http://www.codeproject.com/SiteRes/CP/Img/Std/logo225x90.gif
req = urllib2.Request(url, None, headers)
response = opener.open(req)
img1 = response.read() # вот в таком виде изображение
# Ну а дальше…
size = 75,51
im1 = Image.fromstring(”RGBA",size,img1)
И через StringIO пробовал, все равно ошибку получал, сейчас не могу к сожалению текст ошибки привести, что-то там про decoder было. Все вышеперечисленное правильно? Если да - буду искать косяк, плюс хотелось бы узнать как их склеить.
bw
Попробуй так:
img1 = Image.open(response)
Здесь response воспринимается как файловый объект, это значит, что он должен иметь методы read, seek и tell.

Ну, если это не так, то:
img1 = Image.open(StringIO(response.read()))
Ты же не raw по сети получаешь, так о каком Image.fromstring может идти речь?

..bw
plusplus
Спасибо, со StringIO все получилось.
bw
Забыл сказать.
Смени название темы. Обсуждаемый здесь вопрос не касается объединения.
Например так: “Открытие изображения PIL по его URL”

..bw
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB