Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

✨ Implement layered sprite export and import to TIFF format #31

Merged
merged 9 commits into from
Sep 19, 2023

Conversation

pleonex
Copy link
Member

@pleonex pleonex commented Sep 19, 2023

Description

This PR brings several converters that allows to export layered sprites (like NDS NCER) into a standard format: TIFF. It allows to import them back as well.

Features:

  • 🆕 Create a layered sprite from a multi-page TIFF image.
  • 🆕 Read and write TIFF files from the new classes: TiffImage and TiffPage. This class supports indexed and RGB images with multi-page.
  • 🆕 Converter to transform formats with ImageMagick
  • ✨ Improve algorithm that reduces the number of layers by combining the ones adjacent.
  • ✨ Improve nitro sprite segmentation to reduce the number of OAMs
  • 🐛 Keep original OAM metadata: scaling and rotation groups. This fixes animations in some sprite images.

Example

To import use the new converters Binary2Tiff and Tiff2Sprite.
To export use the new converters Sprite2Tiff and Tiff2Binary
To transform with ImageMagic use the converter ImageMagickFormatConverter that transform a binary image format into another binary image format.

@pleonex pleonex added the enhancement New feature or request label Sep 19, 2023
@pleonex pleonex self-assigned this Sep 19, 2023
@pleonex pleonex merged commit 9a34d4b into main Sep 19, 2023
5 checks passed
@pleonex pleonex deleted the feature/sprites-tiff branch September 19, 2023 13:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant