CSS sprite generator
Besplatan CSS sprite generator. Spoji do 500 slika u jedan PNG sa CSS klasama background-position ili JSON atlasom tekstura, bez otpremanja.
Slike
- Veličina tabele
- Iskorišćen prostor
Kako da napraviš sprite sheet
- Prevuci slike na polje za otpuštanje ili klikni na njega da ih izabereš. Prihvataju se PNG, SVG, WebP, JPG i drugi formati koje tvoj pregledač može da pročita, do 500 slika. Svaki fajl se pojavljuje na listi Slike sa svojom veličinom; dugme × uklanja jednu sliku, a Ukloni sve slike briše listu.
- Izaberi Raspored: Mreža, Zbijeno (najmanja tabela), Vodoravna traka ili Uspravna traka. Uz Mreža polje Kolone (0 = automatski) određuje broj kolona.
- Podesi Razmak (px) između sprajtova (podrazumevano 2) i označi Veličina stepena dvojke (256, 512, 1024…) ako to traži tvoj engine ili GPU.
- Izaberi Fajl sa podacima: CSS (klase sa background-position), JSON (mapa kadrova) ili CSS i JSON. Podesi Ime fajla i Prefiks CSS klase (oba su podrazumevano „sprite“).
- Proveri pregled, Veličina tabele i Iskorišćen prostor, pa klikni na Preuzmi ZIP (PNG + podaci) ili Preuzmi samo PNG. Generisani kod možeš i direktno da kopiraš.
Slike se dekodiraju u tvom pregledaču i ništa se ne otprema. SVG bez sopstvene širine i visine rasterizuje se sa dužom stranom od 256 px.
Izbor rasporeda
- Mreža daje svakoj slici ćeliju veličine najveće slike. Uz automatske kolone mreža je otprilike kvadratna. Jednostavna je i predvidiva, a idealna je kada su svi sprajtovi iste veličine, kao kod skupa pločica.
- Zbijeno (najmanja tabela) koristi pakovanje po policama: slike se sortiraju od najviše ka najnižoj i postavljaju sleva udesno u redove. Alat isprobava mnogo širina tabele i zadržava onu sa najmanjom površinom, uzimajući u obzir zaokruživanje na stepen dvojke kada je ta opcija uključena. Najbolje za ikonice različitih veličina.
- Vodoravna traka i Uspravna traka stavljaju slike u jedan red ili kolonu redosledom kojim si ih dodao. To očekuju mnogi plejeri animacija za kadrove.
Tabela ne može da pređe 16.384 px po strani ni oko 16,7 megapiksela, što je granica koju pregledači mogu da nacrtaju.
Korišćenje CSS-a
CSS sadrži osnovnu klasu sa tabelom kao background-image i no-repeat, a zatim po jednu klasu za svaki sprajt, imenovanu prema njegovom fajlu: home.png postaje sprite-home. Imena se pišu malim slovima, kvačice se uklanjaju, ostali znakovi postaju crtice, a duplikati dobijaju -2, -3.
<link rel="stylesheet" href="sprite.css">
<span class="sprite sprite-home"></span>
<span class="sprite sprite-search"></span>
Svaka klasa sprajta postavlja width, height i background-position sa negativnim pomacima. Sprajt na x = 40, y = 20 dobija background-position: -40px -20px: cela tabela se unutar elementa pomera 40 px ulevo i 20 px nagore, pa kroz okvir elementa prolazi samo taj sprajt. Razmak sprečava da susedni sprajtovi prodru kada se stranica uveća ili se tekstura filtrira.
Ekrani visoke gustine: nacrtaj slike u dvostruko većoj veličini od prikaza, generiši tabelu, zatim dodaj osnovnoj klasi background-size postavljen na polovinu veličine tabele i prepolovi širine, visine i pomake. Alat to ne generiše; to je ručno podešavanje.
Da li su sprajtovi još korisni uz HTTP/2?
Sprajtovi su izmišljeni da uštede HTTP zahteve. Uz multipleksiranje u HTTP/2 mnogo malih fajlova učitava se skoro jednako brzo kao jedan, pa je dobitak za sajtove mnogo manji, a SVG ikonice ili fontovi sa ikonicama su često bolji za skalabilne ikonice. Sprite sheet-ovi ostaju standard za 2D igre i kadrove animacija: jedna tekstura znači manje prebacivanja tekstura na GPU-u i jedan fajl za učitavanje.
Česta pitanja
Da li se moje slike otpremaju?
Ne. Sve se dekodira, pakuje i kodira u tvom pregledaču. Slike nikada ne napuštaju tvoj uređaj.
Koji game engine-i mogu da čitaju JSON?
JSON koristi format „JSON hash“ programa TexturePacker: objekat frames sa imenima fajlova kao ključevima, svaki sa frame (x, y, w, h), rotated: false, trimmed: false i sourceSize, plus meta.image i meta.size. Phaser, PixiJS i mnogi drugi engine-i ga učitavaju direktno.
Da li se providnost zadržava?
Da. Tabela je PNG, pa providni pikseli ostaju providni. Šahovska tabla u pregledu se vidi samo tamo gde je tabela prazna.
Zašto koristiti veličine stepena dvojke?
Starije GPU jedinice i WebGL 1 traže teksture veličine stepena dvojke za mipmape i režime ponavljanja, a neki engine-i to još očekuju. Opcija zaokružuje tabelu naviše, na primer 300 × 70 px postaje 512 × 128 px.
Da li se sprajtovi seku ili rotiraju?
Ne. Svaka slika se postavlja onakva kakva jeste, sa providnim marginama, i nikada se ne rotira, pa se položaji tačno poklapaju sa tvojim originalnim fajlovima.
Srodni alati
- Deljenje slike na delove i mreža za Instagram Podeli sliku na mrežu delova za Instagram objavu, panoramu ili poster za štampu, sa pregledom sečenja i numerisanim fajlovima. Besplatno, bez otpremanja.
- Pravljenje GIF-a od slika Napravi animirani GIF od više slika ili kratkog video klipa. Menjaj redosled frejmova, kašnjenje, ponavljanje, veličinu, boje i dithering. Besplatno.
- Pravljenje kolaža fotografija Napravi kolaž od 2 do 9 fotografija sa rasporedima u mreži i mozaiku, prevuci slike u polja, pomeraj i zumiraj svaku i izvezi PNG ili JPG.
- Generator favicon ikonica Napravi favicon.ico, PNG ikonice, apple-touch-icon i site.webmanifest od jedne slike ili emodžija, sa HTML oznakama za lepljenje. ZIP, bez otpremanja.