diff --git a/py/imagefunc.py b/py/imagefunc.py index d5dbb41..04ec519 100644 --- a/py/imagefunc.py +++ b/py/imagefunc.py @@ -607,7 +607,7 @@ def image_rotate_extend_with_alpha(image:Image, angle:float, alpha:Image=None, m ret_image = RGB2RGBA(_image, _alpha) else: ret_image = _image - return (_image, _alpha, ret_image) + return (_image, _alpha.convert('L'), ret_image) def create_box_gradient(start_color_inhex:str, end_color_inhex:str, width:int, height:int, scale:int=50) -> Image: # scale is percent of border to center for the rectangle diff --git a/py/layer_image_transform.py b/py/layer_image_transform.py index befb6b5..8b86c31 100644 --- a/py/layer_image_transform.py +++ b/py/layer_image_transform.py @@ -21,7 +21,7 @@ class LayerImageTransform: "aspect_ratio": ("FLOAT", {"default": 1, "min": 0.01, "max": 100, "step": 0.01}), "rotate": ("FLOAT", {"default": 0, "min": -999999, "max": 999999, "step": 0.01}), "transform_method": (method_mode,), - "anti_aliasing": ("INT", {"default": 0, "min": 0, "max": 16, "step": 1}), + "anti_aliasing": ("INT", {"default": 2, "min": 0, "max": 16, "step": 1}), }, "optional": { } @@ -72,8 +72,10 @@ class LayerImageTransform: # rotate _image, _mask, _ = image_rotate_extend_with_alpha(_image, rotate, _mask, transform_method, anti_aliasing) # composit layer - _image_canvas.paste(_image, (x, y)) - _mask_canvas.paste(_mask, (x, y)) + paste_x = (orig_layer_width - _image.width) // 2 + x + paste_y = (orig_layer_height - _image.height) // 2 + y + _image_canvas.paste(_image, (paste_x, paste_y)) + _mask_canvas.paste(_mask, (paste_x, paste_y)) if tensor2pil(layer_image).mode == 'RGBA': _image_canvas = RGB2RGBA(_image_canvas, _mask_canvas) diff --git a/py/layer_mask_transform.py b/py/layer_mask_transform.py index e9ca731..4717f22 100644 --- a/py/layer_mask_transform.py +++ b/py/layer_mask_transform.py @@ -21,7 +21,7 @@ class LayerMaskTransform: "aspect_ratio": ("FLOAT", {"default": 1, "min": 0.01, "max": 100, "step": 0.01}), "rotate": ("FLOAT", {"default": 0, "min": -999999, "max": 999999, "step": 0.01}), "transform_method": (method_mode,), - "anti_aliasing": ("INT", {"default": 0, "min": 0, "max": 16, "step": 1}), + "anti_aliasing": ("INT", {"default": 2, "min": 0, "max": 16, "step": 1}), }, "optional": { } @@ -60,8 +60,10 @@ class LayerMaskTransform: _mask = _mask.resize((target_layer_width, target_layer_height)) # rotate _, _mask, _ = image_rotate_extend_with_alpha(_mask.convert('RGB'), rotate, _mask, transform_method, anti_aliasing) + paste_x = (orig_width - _mask.width) // 2 + x + paste_y = (orig_height - _mask.height) // 2 + y # composit layer - _mask_canvas.paste(_mask, (x, y)) + _mask_canvas.paste(_mask, (paste_x, paste_y)) ret_masks.append(image2mask(_mask_canvas))