Extract a region of an image and translate it into a puzzle shape

Hi @njamster, I appreciate your help!

In the end I was able to get it and this is the final code I got:

func _ready():
	var puzzle_image = image_to_puzzle.get_image()
	var mask_image: Image = load("res://components/algorithms/jigsaw_puzzle/assets/pieces/puzzle_shape.svg").get_image()
	puzzle_image.decompress()
	puzzle_image.convert(mask_image.get_format())

	var puzzle_shape_image = Image.create(mask_image.get_width(), mask_image.get_height(), false, mask_image.get_format())
	puzzle_shape_image.fill(Color.TRANSPARENT)
	puzzle_shape_image.blit_rect_mask(
		puzzle_image.get_region(Rect2i(Vector2i.ZERO, mask_image.get_size())), # Trozo de imagen original misma size que la mask (pieza de puzzle)
		mask_image,
		Rect2i(Vector2i.ZERO, mask_image.get_size()), 
		Vector2i.ZERO
	)

	### TEST PURPOSES
	var sprite = Sprite2D.new()
	sprite.texture = ImageTexture.create_from_image(puzzle_shape_image)
	sprite.position = get_viewport().size / 2
	sprite.scale *= 0.5
	add_child(sprite)

victory