feat: init repo
This commit is contained in:
32
lib/alpha_composite.py
Normal file
32
lib/alpha_composite.py
Normal file
@@ -0,0 +1,32 @@
|
||||
import pathlib
|
||||
from PIL import Image
|
||||
|
||||
class AlphaComposite:
|
||||
|
||||
def __init__(self, image_path: str, save_path) -> None:
|
||||
if image_path.strip().endswith(".png") is True:
|
||||
image_path = image_path.replace(".png", "")
|
||||
if save_path.strip().endswith(".png") is False:
|
||||
save_path += ".png"
|
||||
self.image_path = pathlib.Path.cwd().joinpath(image_path + ".png")
|
||||
self.mask_path = pathlib.Path.cwd().joinpath(image_path + "[alpha].png")
|
||||
self.save_path = save_path
|
||||
self.image = None
|
||||
self.mask = None
|
||||
self.loaded_image = None
|
||||
self.loaded_mask = None
|
||||
self.__open_image()
|
||||
self.__alpha_composite()
|
||||
pass
|
||||
|
||||
def __open_image(self):
|
||||
self.image = Image.open(self.image_path)
|
||||
self.mask = Image.open(self.mask_path)
|
||||
self.loaded_image = self.image.load()
|
||||
self.loaded_mask = self.mask.load()
|
||||
|
||||
def __alpha_composite(self):
|
||||
for y in range(self.mask.size[1]):
|
||||
for x in range(self.mask.size[0]):
|
||||
self.loaded_image[x, y] = (self.loaded_image[x, y][0], self.loaded_image[x, y][1], self.loaded_image[x, y][2], self.loaded_mask[x, y][2])
|
||||
self.image.save(pathlib.Path.cwd().joinpath(self.save_path))
|
||||
Reference in New Issue
Block a user