Generator sprite sheet
Przeciągnij zestaw obrazów, a generator ułoży je na jednolitej siatce i narysuje jeden PNG typu sprite sheet w przeglądarce, a następnie utworzy CSS z przesunięciem background-position dla każdego sprite’a. Wszystko działa lokalnie na płótnie (canvas), więc nic nie jest wysyłane na serwer. Przydatne do zestawów ikon, klatek gier retro i stanów interfejsu, gdy wolisz jeden plik zamiast wielu osobnych obrazów. Ty ustalasz liczbę kolumn, rozmiar kafelka, odstęp między komórkami i tło (przezroczyste, białe lub czarne).
Jak powstaje sprite sheet
-
1
Przeciągnij obrazy
Dodaj pliki PNG, JPG lub WebP. Zmień ich kolejność przyciskami w górę/w dół albo usuń wybraną klatkę; arkusz jest przebudowywany natychmiast.
-
2
Ustaw siatkę
Wybierz liczbę kolumn; liczba wierszy wynika z liczby dodanych obrazów. Każdy obraz jest skalowany, by zmieścił się w kwadratowym kafelku, z zachowaniem proporcji i wyśrodkowany.
-
3
Dostosuj rozmiar kafelka i odstęp
Wybierz rozmiar kafelka w pikselach i dodaj odstęp między komórkami, aby sąsiednie sprite'y nie zlewały się przy skalowaniu.
-
4
Pobierz PNG i skopiuj CSS
Zapisz sprite sheet jako pojedynczy PNG i skopiuj wygenerowane klasy CSS, jedną regułę `.spr-nazwa` na obraz z szerokością, wysokością i background-position.
Jak działa układ
Generator używa jednego, przewidywalnego układu: jednolitej siatki. Ustalasz liczbę kolumn, a liczba wierszy to zaokrąglenie_w_górę(obrazy / kolumny). Każda komórka ma ten sam kwadratowy rozmiar (wybrany rozmiar kafelka), więc każdy obraz jest skalowany, by zmieścił się w swojej komórce z zachowaniem proporcji, i jest wyśrodkowany. Obrazy o różnych rozmiarach trafiają do jednakowych komórek, dokładnie tego oczekują sprite’y CSS z background-position.
| Ustawienie | Zakres | Efekt |
|---|---|---|
| Kolumny | 1 do 16 | Sprite’y na wiersz; wiersze liczone automatycznie |
| Rozmiar kafelka | 32 do 512 px | Kwadratowa komórka, w którą wpasowany jest każdy obraz |
| Odstęp | 0 do 64 px | Przezroczysta przerwa między komórkami zapobiegająca zlewaniu przy skalowaniu |
| Tło | Przezroczyste / Białe / Czarne | Wypełnienie za sprite’ami w wyjściowym PNG |
Postać wygenerowanego CSS
Każdy obraz staje się klasą nazwaną od pliku (.spr-<nazwa>), o rozmiarze kafelka i przesunięty na swoją komórkę. Przy czterech kolumnach, rozmiarze kafelka 128 px i bez odstępu arkusz wygląda tak:
.spr-idle { width: 128px; height: 128px; background: url(spritesheet.png) -0px -0px; }
.spr-walk { width: 128px; height: 128px; background: url(spritesheet.png) -128px -0px; }
.spr-run { width: 128px; height: 128px; background: url(spritesheet.png) -256px -0px; }
.spr-jump { width: 128px; height: 128px; background: url(spritesheet.png) -384px -0px; }
.spr-fall { width: 128px; height: 128px; background: url(spritesheet.png) -0px -128px; }
Przesunięcie zmienia się w dwóch wymiarach: sprite’y wypełniają każdy wiersz od lewej do prawej, a potem przechodzą do następnego wiersza. Zapisz PNG jako spritesheet.png obok swojego CSS (albo zmień url(...), aby pasowało do Twojej ścieżki).
Odstęp i zlewanie
Sprite’y spakowane krawędź w krawędź mogą się zlewać, gdy przeglądarka skaluje arkusz (niecałkowite proporcje pikseli, transformacje CSS). Dodaj 2 do 4 pikseli odstępu między komórkami, aby sąsiednie piksele nie przenikały.
Ekrany o wysokiej gęstości (retina)
Nie ma automatycznego eksportu 2x, ale ostrzejszy arkusz zrobisz prosto: wybierz większy rozmiar kafelka (na przykład 256 px zamiast 128 px), aby każdy sprite niósł więcej pikseli, a potem wyświetl go w połowie rozmiaru CSS. Dzięki temu masz ostre sprite’y na ekranach o dużej gęstości bez osobnego przebiegu.
Sprite sheety a alternatywy
- Sprite sheety: klasyczne zestawy ikon w CSS, klatki gier HTML5 i strony, które zyskują na połączeniu wielu małych obrazów w jeden plik.
- Sprite’y SVG (symbol): lepsze do nowoczesnych ikon interfejsu, skalują się bez strat, przyjmują
fillw CSS, bez żonglowaniabackground-position. - Fonty ikon: ograniczone, ale wciąż używane do maleńkich jednokolorowych ikon.
- Osobne pliki z HTTP/2 lub HTTP/3: multipleksowanie sprawia, że liczba żądań znaczy mniej niż kiedyś.
Najczęściej zadawane pytania
Obrazy pozostają w przeglądarce. W widoku wieloetapowym wybrane pliki i układ są tymczasowo przechowywane w tej karcie przeglądarki przez maksymalnie 30 minut. Nic nie jest wysyłane na serwer ani umieszczane w adresie URL.
Tak, ale wbudowane SVG lub sprite’y SVG <symbol> zwykle lepiej pasują do frameworków komponentowych. Sprite sheety CSS sprawdzają się, gdy na statycznych stronach jednocześnie widać wiele obrazów.
Ustaw liczbę kolumn równą liczbie klatek, aby każda była w jednym wierszu, a następnie steruj nią za pomocą animation-timing-function: steps(N) w CSS i background-position przeskakującego komórka po komórce. Dobrze działa do krótkich animacji w pętli (spinnery, stany bezczynności).
Każda komórka siatki ma ten sam kwadratowy rozmiar (wybrany rozmiar kafelka), więc każdy obraz jest wpasowywany w swoją komórkę i wyśrodkowany. Jeśli Twoje sprite’y to już identyczne kwadraty, ustaw odpowiadający rozmiar kafelka, a przejdą bez zmian.
Powiązane narzędzia
Komprimuj plik GIF
Zmniejsz animowany plik GIF w przeglądarce: obniż wymiary, zachowaj mniej klatek i dopasuj jakość kodowania. Zobacz podgląd pętli przed pobraniem.
Masowa zmiana rozmiaru obrazów
Przeciągnij kilka obrazów, dopasuj je lub rozciągnij do rozmiaru docelowego i wyeksportuj JPG, PNG albo WebP w jednym ZIP-ie. Przetwarzanie zostaje w przeglądarce.
Wektoryzator PNG do SVG
Przekształcaj obrazy rastrowe PNG w ścieżki SVG bezpośrednio w przeglądarce. Najlepsze do logo, ikon i rysunków liniowych. Steruj progiem, liczbą kolorów i wygładzaniem.
Zmiana rozmiaru obrazu
Zmieniaj rozmiar obrazów do dokładnych wymiarów w pikselach lub procentach, zachowując proporcje. Dobre do pracy partiami, bez przesyłania plików.
Narzędzie do zmiany rozmiaru obrazów do social media
Zmień rozmiar jednego obrazu do wbudowanych presetów dla Instagramu, Facebooka, X, LinkedIn, YouTube, Pinteresta i TikToka. Sprawdź każdy PNG i pobierz potrzebne formaty.
Kompresor obrazów
Kompresuj obrazy JPG, PNG i WebP, aby zmniejszyć rozmiar pliku przy zachowaniu jakości wizualnej. Wszystko w Twojej przeglądarce, bez wysyłania plików.