Skip to content

Instantly share code, notes, and snippets.

@facciocose
Created February 9, 2022 16:45
Show Gist options
  • Select an option

  • Save facciocose/6a29f4abde3be6972f0e9ceb628eb285 to your computer and use it in GitHub Desktop.

Select an option

Save facciocose/6a29f4abde3be6972f0e9ceb628eb285 to your computer and use it in GitHub Desktop.
Aseprite script to export visible layers as PNG files
function GetVisibleLayers()
data = {}
for _, layer in ipairs(app.activeSprite.layers) do
if layer.isVisible then
table.insert(data, layer)
end
end
return data
end
function RestoreVisibleLayers(data)
for _, layer in ipairs(data) do
layer.isVisible = true
end
end
function GetFileName(str)
return str:match(".+[/\\](.+)%.")
end
function GetDirName(str)
return str:match("(.*[/\\])")
end
local sprite = app.activeSprite
visible_layers = GetVisibleLayers()
for _, layer in ipairs(sprite.layers) do
layer.isVisible = false
end
for i, layer in ipairs(visible_layers) do
layer.isVisible = true
local dir = GetDirName(sprite.filename)
local spriteName = GetFileName(sprite.filename)
local layerFileName = dir .. spriteName .. "-" .. i .. ".png"
app.activeSprite:saveCopyAs(layerFileName)
layer.isVisible = false
end
RestoreVisibleLayers(visible_layers)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment