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:
parent
49e3ca0c26
commit
85be0be2b5
2 changed files with 5 additions and 7 deletions
|
@ -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)
|
||||
|
||||
|
|
|
@ -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:
|
||||
|
|
Loading…
Add table
Reference in a new issue