Главная страница  | Notes  | Контакты

[[[ZL3P]]]
meow * ニャー * miau * мяу * * miaou
PIL
UP

/notes/programming/python/PIL/alpha/

PIL: как работать с прозрачностью и альфа-каналом


Описаны основные возможности библиотеки PIL языка Python для работы с прозрачностью и альфа-каналом


Добавление фона



Если есть изображение foreground с альфаканалом, и нам надо вставить фон на задний план, то это делается в PIL очень просто с использованием метода paste:


 
	from PIL import Image 
	background = Image.open(bg_path_png) 
	foreground = Image.open(fg_path_png) 
	background = background.resize(foreground.size) 
	background.paste(foreground, (0, 0), foreground) 
	


Полупрозрачное изображение



PIL: как работать с прозрачностью и альфа-каналом


Описаны основные возможности библиотеки PIL языка Python для работы с прозрачностью и альфа-каналом


Добавление фона



Если есть изображение foreground с альфаканалом, и нам надо вставить фон на задний план, то это делается в PIL очень просто с использованием метода paste:


 
	from PIL import Image 
	background = Image.open(bg_path_png) 
	foreground = Image.open(fg_path_png) 
	background = background.resize(foreground.size) 
	background.paste(foreground, (0, 0), foreground) 
	


Полупрозрачное изображение



Напомню, что значение alpha=0 означает полную прозрачность, а alpha=255 - полную непрозрачность. Т.е. для обычного изображения alpha=255.


Следующая операция добавляет альфа-канал с alpha=200 в изображение, даже если его там не было (как написано в документации: If the image does not have an alpha layer, it’s converted to LA or RGBA):

 
	bg = Image.open('b.jpb') 
	bg.putalpha(200) 
	


Однако можно вместо одного значения 200 можно использовать маску:


 
	bg.putalpha(mask) 
	


где mask - изображение с одним цветовым каналом.