{"id":26649801,"url":"https://github.com/non-npc/sprite-toolz","last_synced_at":"2025-04-11T03:14:34.261Z","repository":{"id":283159057,"uuid":"950813865","full_name":"non-npc/Sprite-Toolz","owner":"non-npc","description":"Sprite sheet manipulation tool suite","archived":false,"fork":false,"pushed_at":"2025-03-18T20:31:09.000Z","size":127,"stargazers_count":11,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-11T03:14:29.730Z","etag":null,"topics":["animation","gif","png","python","sprites","spritesheet","tilesheet"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/non-npc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-18T18:13:21.000Z","updated_at":"2025-04-07T16:51:58.000Z","dependencies_parsed_at":"2025-03-18T21:42:43.856Z","dependency_job_id":null,"html_url":"https://github.com/non-npc/Sprite-Toolz","commit_stats":null,"previous_names":["non-npc/sprite-toolz"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/non-npc%2FSprite-Toolz","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/non-npc%2FSprite-Toolz/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/non-npc%2FSprite-Toolz/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/non-npc%2FSprite-Toolz/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/non-npc","download_url":"https://codeload.github.com/non-npc/Sprite-Toolz/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248333594,"owners_count":21086200,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["animation","gif","png","python","sprites","spritesheet","tilesheet"],"created_at":"2025-03-25T01:01:44.043Z","updated_at":"2025-04-11T03:14:34.245Z","avatar_url":"https://github.com/non-npc.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sprite Toolz\n\nA powerful sprite sheet manipulation tool built with Python.\\\n**[Sprite Toolz](https://github.com/non-npc/Sprite-Toolz)** provides a comprehensive set of features for working with sprite sheets, including frame manipulation, batch processing, and animation export.\n\nRead the [Features List](FEATURES.md) for a highlight of features or keep reading:\n\n![Sprite Toolz - Main options Screenshot](screenshot01.png)\n![Sprite Toolz - Manipulation options Screenshot](screenshot02.png)\n![Sprite Toolz - Batch options Screenshot](screenshot03.png)\n\n## Features\n\n### Basic Operations\n- **File Operations**\n  - Load sprite sheets (supports PNG, JPG, BMP, GIF)\n  - Export selections as GIF or APNG animations\n  \n- **Cell Size Configuration**\n  - Two methods for setting cell size:\n    - Direct input: Set width and height manually\n    - Grid-based: Specify number of rows and columns\n  - Toggle between input methods\n  - Auto-calculation of complementary values\n  - Add padding to cells with live preview\n  - Apply padding permanently to resize cells\n  \n- **Grid Display**\n  - Toggle grid visibility\n  - Customizable grid color\n  - Semi-transparent grid overlay\n  \n- **Zoom Controls**\n  - Multiple zoom levels (1x, 2x, 4x, 6x)\n  - Zoom in/out with centered view\n  - Reset zoom to default\n  - Automatic scrollbars when zoomed\n\n### Sprite Sheet Manipulation\n- **Row Operations**\n  - Duplicate rows\n  - Delete rows\n  - Add blank rows before/after\n  - Export rows as separate files\n  \n- **Column Operations**\n  - Duplicate columns\n  - Delete columns\n  - Add blank columns before/after\n  - Export columns as separate files\n  \n- **Frame Operations**\n  - Duplicate individual frames\n  - Delete frames\n  - Export single frames\n  \n- **Selection Tools**\n  - Select individual frames (Click)\n  - Select entire rows (Shift + Click)\n  - Select entire columns (Ctrl + Click)\n  - Select multiple frames by dragging\n  - Custom frame selection (Ctrl + Shift + Click)\n    - Select frames in any order from any row/column\n    - Click selected frame again to remove from selection\n    - Export selected frames as strip or animation\n  - Export selections as PNG/GIF/APNG animations\n\n### Batch Processing\n- **Input Options**\n  - Process entire folders of sprite sheets\n  - Optional subfolder processing\n  - Supports multiple image formats\n  \n- **Batch Operations**\n  - Set cell dimensions for all files\n  - Apply padding to all sprites\n  - Export options:\n    - Individual frames as PNG\n    - Rows as sprite strips\n    - Rows as GIF animations\n    - Rows as APNG animations\n  \n- **Output Organization**\n  - Creates organized output in \"processed\" folder\n  - Maintains folder structure when processing subfolders\n  - Clear progress tracking and status updates\n\n## Usage Tips\n- Use Shift+Click to select entire rows\n- Use Ctrl+Click to select entire columns\n- Click and drag to select multiple frames\n- Preview padding changes before applying them\n- Use the batch processing feature for multiple files\n- Export animations in either GIF or APNG format\n- Customize grid color for better visibility\n\n## Interface\n- Three main tabs for organized access to features:\n  1. **Basic**: Core operations and display settings\n  2. **Manipulate**: Row, column, and frame manipulation tools\n  3. **Batch**: Bulk processing operations\n- Transparent sprite support with checkered background\n- Real-time status updates\n- Progress tracking for batch operations\n\n## Requirements\n- Python 3.x\n- PyQt6\n- Pillow (PIL)\n- NumPy\n- imageio\n\n## Installation\n1. Ensure Python 3.x is installed\n2. Install required packages:\n```bash\npip install PyQt6 Pillow numpy imageio\n```\n3. Run the application:\n```bash\npython sprite_toolz.py\n```\n\n\n## Output Formats\n- **PNG**: Individual frames and sprite strips\n- **GIF**: Animated sequences with customizable frame duration\n- **APNG**: (Animated PNG) High-quality animations with transparency support\n\n## Notes\n- All operations preserve transparency\n- GIF exports include proper frame disposal for clean animations\n- APNG (Animated PNG) exports maintain full color depth and alpha channel\n- Batch processing creates organized subfolders for different export types \n\nRead the [Features List](FEATURES.md) for a highlight of features\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnon-npc%2Fsprite-toolz","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnon-npc%2Fsprite-toolz","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnon-npc%2Fsprite-toolz/lists"}