im = Image.open('mouse.png')
im = im.convert('RGB').convert('P', palette=Image.ADAPTIVE)
# The white index in the palette of this image is 255
im.save('mouse.gif', transparency=255)
im = Image.open('mouse.png')
im = im.convert('RGB').convert('P', palette=Image.ADAPTIVE)
# The white index in the palette of this image is 255
im.save('mouse.gif', transparency=255)
import Image
old=Image.open('test.jpg')
new=Image.new('RGBA',old.size)
mask=Image.new('1',old.size)
for x in xrange(old.size[0]):
for y in xrange(old.size[1]):
rgb=old.getpixel((x,y))
alfa=1
if rgb==(255,255,255):alfa=0
mask.putpixel((x,y),alfa)
new.paste(old,mask=mask)
new.save('new.png')
xsize, ysize = im.size
back = Image.new('RGBA', (xsize,ysize))
source = im.split()
#R, G, B, A = 0, 1, 2, 3
mask = im.point(lambda i: i == 255 and 255)
source[3].paste(mask)
mask = Image.merge(im.mode, source)
im.paste(back, (0,0), mask=mask)
xsize, ysize = im.size
back = Image.new('RGBA', (xsize,ysize), (255,255,255,0))
for r in range(5):
mask = im.point(lambda i: i == 255-r and 255)
source[3].paste(mask)
im.paste(back, (0,0), mask=source[3])
squtterНе спорю, point внутри PIL работает скорее всего на С++..
но предложенный тобой код работает не в пример долго (ничего личного :))
igor.kaistвозможно..
Не спорю, point внутри PIL работает скорее всего на С++..
source[3].paste(mask)
im.paste(back, (0,0), mask=mask)