Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 15, 2009 10:45:59

FullD
От:
Зарегистрирован: 2008-12-22
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

PNG с прозрачным

какую последовательность надо чтобы marker.png на main.jpg вставилось, иметь ввиду что у marker.png имеется прозрачность (без фона)
а то вставляю как обычный рисунок она вся становится красной квадрат



Офлайн

#2 Янв. 16, 2009 04:55:04

FullD
От:
Зарегистрирован: 2008-12-22
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

PNG с прозрачным

import os, sys
import PIL
from PIL import Image
im1 = Image.open(“main.png”)
im2 = Image.open(“b_ft.png”)
x=int(100.6)
y=int(100.6)
box = (x,y,x+33,y+33)
im1.paste(im2, box)
im1.save(“output_main.png”)
im2.save(“output.png”)
print “All OK”
print im2.mode ->> пишет RGBA
print im1.mode ->> пришет RGB

как открыть задать mode ? пишу im1 = Image.open(“main.png”,“RGBA”) выдает ошибку , пишу im1 = Image.open(“main.png”,'RGBA') опять же ошибку выдает bad mode



Офлайн

#3 Янв. 16, 2009 12:38:54

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

PNG с прозрачным

Вот решение…

import Image
img=Image.open('RGBA.png')
main=Image.open('RGB.jpg')
# делим изображение по цветовым каналам, 4-й это маска
mask=img.split()[3]
# о волшебный PIL handbook подсказал нам о параметре, который задает маску :)
main.paste(img,(0,0),mask=mask)
main.save('out.png')
Вот получившийся результат :)

А вот и замечательный туториал
PIL handbook в pdf



Отредактировано (Янв. 16, 2009 12:43:58)

Офлайн

#4 Янв. 19, 2009 01:57:09

FullD
От:
Зарегистрирован: 2008-12-22
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

PNG с прозрачным

Спасибо большое



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version