Екстрактор спрайтів
Drop files here or click (max 12 MB)
Чому варто використовувати цей екстрактор спрайтів?
- Автоматичне виявлення спрайтів на основі прозорості та настроюваних порогів
- Чисте обрізання з опціональним видаленням прозорих меж навколо кожного спрайту
- Контроль відступів, вирівнювання (по центру/знизу) та опціональний єдиний розмір виводу
- Зберігає прозорість (альфа-канал) для експорту PNG – ідеально для тайлмапів та персонажів
- Візуальна галерея всіх виявлених спрайтів для швидкого огляду перед завантаженням
- Клієнтський експорт ZIP за допомогою JSZip, зберігаючи стабільність імен файлів та порядку спрайтів
- Дружній до Scratch: швидко перетворює єдиний лист спрайтів на кілька костюмів або ассетів
- Ідеально для повторного використання ассетів між рушіями (Scratch, Godot, Unity 2D, Phaser тощо)
🛠️ Як витягти спрайти з листа спрайтів for sprite-extractor
1. Завантажте ваше зображення
Перетягніть лист спрайтів або зображення в зону завантаження, або клацніть, щоб обрати файл. Для найкращих результатів використовуйте PNG з прозорим фоном або високим контрастом між спрайтами та фоном.
2. Запустіть авто-виявлення
Інструмент надсилає легке представлення вашого зображення на ендпоінт виявлення, який обчислює обмежувальні рамки для кожного спрайту на основі прозорості та мінімального розміру. Рамки накладаються на ваше зображення, щоб ви могли швидко побачити, що буде експортовано.
3. Налаштуйте опції витягування
Налаштуйте відступи, прозорий фон проти суцільного кольору, обрізання прозорих країв, вирівнювання (по центру або знизу) та опціональну єдину ширину/висоту виводу. Інструмент відповідно перебудовує кожен канвас спрайту.
4. Попередній перегляд спрайтів
Прокрутіть галерею згенерованих спрайтів. Кожен попередній перегляд створюється на клієнті за допомогою офскрін канвасу і може бути перейменований або видалений залежно від опцій інтерфейсу.
5. Завантажте PNG або ZIP
Експортуйте окремі PNG спрайти або завантажте єдиний ZIP файл, що містить усі поточні попередні перегляди. ZIP створюється на клієнті за допомогою JSZip, а імена файлів слідують послідовному шаблону, як <code>sprite_0000.png</code>, <code>sprite_0001.png</code> тощо.
Технічні характеристики
Виявлення та обмежувальні рамки
Фаза виявлення виконується на виділеному бекенд ендпоінті та повертає чисті обмежувальні рамки, які клієнт використовує для побудови фінальних спрайтів.
| Аспект | Поведінка | Примітки |
|---|---|---|
| Ендпоінт виявлення | POST /api/sprite-extractor/inspect | Приймає URL даних та параметри виявлення, повертає масив рамок спрайтів. |
| Вхідні параметри виявлення | допуск, альфа-поріг, мін. ширина, мін. висота | Налаштуйте ці параметри в інтерфейсі, щоб ігнорувати дрібний шум або захоплювати лише значущі спрайти. |
| Форма рамки | Вирівняні по осях прямокутники | Кожен <code>SpriteBox</code> містить <code>x</code>, <code>y</code>, <code>width</code>, <code>height</code> у координатах вихідного зображення. |
| Обробка прозорості | З урахуванням альфа-каналу | Прозорі пікселі враховуються при рішеннях про обрізку/підрізання, але можуть зберігатися у вихідному зображенні. |
| Обробка помилок | Плавні запасні варіанти | Якщо виявлення не вдається, інструмент показує зрозумілу помилку і не ламає інтерфейс. |
Обрізка, підрізання та вирівнювання
Після визначення рамок, весь рендеринг спрайтів виконується в браузері за допомогою HTML canvas.
| Крок | Реалізація | Деталі |
|---|---|---|
| Початкова обрізка | drawImage(img, box.x, box.y, w, h, 0, 0, w, h) | Кожен спрайт спочатку обрізається з оригінального зображення на тимчасовий canvas. |
| Підрізання прозорості | сканування альфа-каналу через getImageData | Інструмент сканує пікселі для обчислення мінімальної рамки без прозорих областей, коли ввімкнено підрізання. |
| Відступи | налаштовується 0–256 пкс | Відступи застосовуються навколо підрізаного або обрізаного спрайта для зменшення артефактів країв у рушіях. |
| Вирівнювання | по центру / по низу | Спрайти можна вирівнювати по центру або по низу (корисно для персонажів, що стоять на базовій лінії). |
| Одинковий розмір виводу | опційно spriteWidth / spriteHeight | При ввімкненні, всі спрайти відображаються на canvas фіксованого розміру для стандартизації анімацій. |
| Фон | прозорий або суцільний колір | Або зберегти повну прозорість, або заповнити canvas обраним кольором фону RGBA. |
Продуктивність та обмеження
Розроблено для інтерактивного використання в браузері.
| Параметр | Типова поведінка | Примітки |
|---|---|---|
| Максимальний розмір вхідного файлу | ~10 МБ зображення | Більші файли можуть працювати, але завантажуватимуться/виявлятимуться повільніше. |
| Кількість спрайтів | до ~400 спрайтів | Можлива дуже велика кількість, але попередній перегляд і створення ZIP займатимуть більше часу. |
| Формат експорту | PNG у ZIP (Blob) | ZIP генерується повністю на стороні клієнта за допомогою JSZip. |
| Операції з Canvas | Обрізання та малювання для кожного спрайта | Використовує 2D canvas API браузера; продуктивність залежить від роздільної здатності та кількості. |
Альтернативи командного рядка
Для масивних спрайт-листів або автоматизованих конвеєрів можна поєднувати інструменти CLI, такі як ImageMagick, зі скриптами.
Linux / 🍎 macOS
Обрізання за рівномірною сіткою з ImageMagick
convert spritesheet.png -crop 64x64 +repage sprite_%04d.pngРозрізає регулярну сітку 64×64 на окремі файли PNG.
Запакувати всі спрайти в ZIP
zip sprites.zip sprite_*.pngПакує всі згенеровані спрайти в один архів.
Windows (PowerShell + ImageMagick)
Обрізання на основі сітки
magick spritesheet.png -crop 64x64 +repage sprite_%%04d.pngТе саме, що й вище, використовуючи CLI <code>magick</code> на Windows.
Практичні випадки використання
Розробка 2D ігор
- Витягніть кадри анімації персонажа з спрайт-листа для Godot, Unity 2D, Phaser або Construct.
- Виділіть елементи інтерфейсу (кнопки, іконки, шкали здоров'я) з макету дизайну.
- Розбийте набори тайлів на окремі тайли для редакторів рівнів.
// Приклад для Godot: завантаження кількох кадрів\nvar frames = []\nfor i in range(0, 8):\n frames.append(load(\"res://sprites/hero_walk_\" + str(i).pad_zeroes(2) + \".png\"))Scratch та класні проєкти
- Перетворіть один спрайт-лист на кілька костюмів для персонажа в Scratch.
- Підготуйте тематичні набори ресурсів (тварини, планети, іконки) для майстерень з програмування.
- Дозвольте учням створювати спрайт-листи в інструменті для малювання, а потім витягувати їх для Scratch.
// Псевдокод у стилі Scratch для простої анімації\nwhen green flag clicked\nforever\n next costume\n wait 0.1 secondsПіксельне мистецтво та бібліотеки ресурсів
- Розділіть старі піксельні арт-листи на пошукову бібліотеку окремих спрайтів.
- Витягніть лише потрібні ресурси з великих комерційних або відкритих пакунків.
- Уніфікуйте відступи та вирівнювання для спрайтів з різних джерел.
❓ Frequently Asked Questions
❓Чи є виявлення спрайтів повністю автоматичним?
📏Чи змінює екстрактор оригінальне зображення?
🎯Чи можна керувати відступами та вирівнюванням?
🔒Чи зберігаються мої зображення на сервері?
🧊Чи буде прозорість збережена в експортованих спрайтах?
Pro Tips
Використовуйте невеликий відступ (2–4 пкс) навколо кожного спрайта, щоб запобігти витіканню кольору країв при масштабуванні або обертанні у вашій рушії.
Називайте спрайти послідовно (наприклад, <code>hero_run_0001.png</code>, <code>hero_run_0002.png</code>), щоб спростити імпорт анімації та скриптування.
У навчальних закладах почніть з дуже простих спрайт-листів (кілька великих спрайтів, чіткий фон), щоб учні відразу побачили результати.
Зберігайте експортований ZIP поряд з вихідними файлами вашого проекту, щоб потім легко перегенерувати або налаштувати анімації.
Additional Resources
Other Tools
- Прикрашувач CSS
- Прикрашувач HTML
- Прикрашувач JavaScript
- Прикрашувач PHP
- Вибір кольору
- Декодер Base64
- Кодувальник Base64
- Форматувальник C#
- Форматувальник CSV
- Dockerfile Formatter
- Форматувальник Elm
- Форматувальник ENV
- Форматувальник Go
- Форматувальник GraphQL
- Форматувальник HCL
- Форматувальник INI
- Форматувальник JSON
- Форматувальник LaTeX
- Форматувальник Markdown
- Форматувальник Objective-C
- Php Formatter
- Форматувальник Proto
- Форматувальник Python
- Форматувальник Ruby
- Форматувальник Rust
- Форматувальник Scala
- Форматувальник shell-скриптів
- Форматувальник SQL
- Форматер SVG
- Форматер Swift
- Форматер TOML
- Typescript Formatter
- Форматер XML
- Форматер YAML
- Форматер Yarn
- Мініфікатор CSS
- Html Minifier
- Javascript Minifier
- Мініфікатор JSON
- Мініфікатор XML
- Переглядач HTTP-заголовків
- PDF у текст
- Тестер регулярних виразів
- Перевірка позицій у SERP
- Пошук Whois