1
0
Fork 0
mirror of https://github.com/Orama-Interactive/Pixelorama.git synced 2025-02-21 21:13:14 +00:00

Fix crash on group blending, and make the code in Export.blend_layers() more general

This commit is contained in:
Emmanouil Papadeas 2023-03-28 21:03:58 +03:00
parent 49e3ca0c26
commit 85be0be2b5
2 changed files with 5 additions and 7 deletions

View file

@ -383,11 +383,9 @@ func blend_layers(
else:
var layer: BaseLayer = project.layers[export_layers - 2]
var layer_image := Image.new()
if layer is PixelLayer:
layer_image.copy_from(frame.cels[export_layers - 2].image)
elif layer is GroupLayer:
if layer is GroupLayer:
layer_image.copy_from(layer.blend_children(frame, Vector2.ZERO))
elif layer is Layer3D:
else:
layer_image.copy_from(frame.cels[export_layers - 2].get_image())
image.blend_rect(layer_image, Rect2(Vector2.ZERO, project.size), origin)

View file

@ -18,10 +18,10 @@ func blend_children(frame: Frame, origin := Vector2.ZERO) -> Image:
for layer in children:
if not layer.is_visible_in_hierarchy():
continue
if layer is PixelLayer:
var cel: PixelCel = frame.cels[layer.index]
if layer is PixelLayer or layer is Layer3D:
var cel: BaseCel = frame.cels[layer.index]
var cel_image := Image.new()
cel_image.copy_from(cel.image)
cel_image.copy_from(cel.get_image())
if cel.opacity < 1: # If we have cel transparency
cel_image.lock()
for xx in cel_image.get_size().x: