Skip to content
Snippets Groups Projects

Draft: Lua image lib

Open Lactozilla requested to merge lua-gfx-2 into next

Merge !2104 (merged) first.

Documentation:

Adds: image.create, image.patchExists (might rename), image.getPatch (might rename), image.getSpritePatch (might rename), image.getSprite2Patch (might rename)

Function Parameters Description Returns
image.create width, height, [format] Creates a patch. format is one of: palette, rgba. Default is palette. patch
image.patchExists name See v.patchExists boolean
image.getPatch name See v.cachePatch patch
image.getSpritePatch sprite, [frame, [rotation, [rollangle]]] See v.getSpritePatch patch, boolean
image.getSprite2Patch skin, sprite2, [super?], [frame, [rotation, [rollangle]]] See v.getSprite2Patch patch, boolean

Adds to patch: is_editable, patch:getPixel, patch:setPixel (might remove), patch:copy, patch:clear

Field Parameters Description Returns
patch.is_editable - Whether the patch can be edited. boolean
patch:getPixel x, y Gets a palette index or RGBA color at x, y. Returns nil on a paletted patch if there is no pixel at x, y number or nil
patch:setPixel x, y, color Sets the pixel at x, y -
patch:copy table, [width, [height, [source_x, [source_y, [source_w, [source_h, [destination_x, [destination_y, [copy_transparent, use_pixel_alpha]]]]]]]]]] OR patch, [source_x, [source_y, [source_w, [source_h, [destination_x, [destination_y, [copy_transparent, use_pixel_alpha]]]]]]]] Copies pixels from a patch or a table from coordinates source_x, source_y sized source_w, source_h into destination_x, destination_y. If the pixels copied originate from a table, the color format must match that of the destination. copy_transparent will copy any transparent pixels from the source, overwriting any opaque pixels. use_pixel_alpha will perform alpha blending on the source pixels that are transparent with the destination pixels (RGBA source only.) -
Edited by Lactozilla

Merge request reports

Merge request contains no changes

Use merge requests to propose changes to your project and discuss them with your team. To make changes, use the Code dropdown list above, then test them with CI/CD before merging.

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
Please register or sign in to reply
Loading