CSS-sprite-generator
Gratis CSS-sprite-generator. Slå sammen opptil 500 bilder til én PNG med CSS-klasser for background-position eller et JSON-teksturatlas, uten opplasting.
Bilder
- Arkstørrelse
- Utnyttet plass
Slik lager du et sprite-ark
- Slipp bildene dine i dropsonen, eller klikk på den for å velge dem. PNG, SVG, WebP, JPG og de andre formatene nettleseren din kan lese, godtas, opptil 500 bilder. Hver fil vises i listen Bilder med størrelsen sin. Knappen × fjerner ett bilde, og Fjern alle bilder tømmer listen.
- Velg et Oppsett: Rutenett, Pakket (minste ark), Vannrett stripe eller Loddrett stripe. Med Rutenett bestemmer Kolonner (0 = automatisk) antall kolonner.
- Sett Mellomrom (px) mellom spritene (2 som standard), og huk av for Toerpotensstørrelse (256, 512, 1024 …) hvis spillmotoren eller GPU-en din krever det.
- Velg Datafil: CSS (background-position-klasser), JSON (rutekart) eller CSS og JSON. Juster Filnavn og CSS-klasseprefiks (begge «sprite» som standard).
- Sjekk forhåndsvisningen, Arkstørrelse og Utnyttet plass, og klikk på Last ned ZIP (PNG + data) eller Last ned bare PNG. Generert kode kan også kopieres direkte.
Bildene dekodes i nettleseren din, og ingenting lastes opp. En SVG uten egen bredde og høyde rasteriseres med den lengste siden på 256 px.
Velg oppsett
- Rutenett gir hvert bilde en celle på størrelse med det største bildet. Med automatiske kolonner blir rutenettet omtrent kvadratisk. Det er enkelt og forutsigbart, og ideelt når alle spritene har samme størrelse, som i et sett med fliser.
- Pakket (minste ark) bruker hylle-pakking: bildene sorteres med de høyeste først og plasseres fra venstre mot høyre i rader. Verktøyet prøver mange arkbredder og beholder den med minst areal, med hensyn til avrunding til toerpotens når det valget er på. Best for ikoner i ulike størrelser.
- Vannrett stripe og Loddrett stripe legger bildene i én rad eller én kolonne i den rekkefølgen du la dem til. Det er det mange animasjonsspillere forventer for ruter.
Arket kan ikke overstige 16 384 px per side eller omtrent 16,7 megapiksler, som er grensen nettlesere kan tegne.
Slik bruker du CSS-en
CSS-en inneholder en basisklasse med arket som background-image og no-repeat, deretter én klasse per sprite oppkalt etter filen: home.png blir sprite-home. Navnene gjøres om til små bokstaver, aksenter fjernes, andre tegn blir bindestreker, og duplikater får -2, -3.
<link rel="stylesheet" href="sprite.css">
<span class="sprite sprite-home"></span>
<span class="sprite sprite-search"></span>
Hver sprite-klasse setter width, height og en background-position med negative forskyvninger. En sprite ved x = 40, y = 20 får background-position: -40px -20px: hele arket flyttes 40 px mot venstre og 20 px oppover inni elementet, så bare den spriten vises gjennom elementets boks. Mellomrommet hindrer at nabosprites siver inn når siden zoomes eller en tekstur filtreres.
Skjermer med høy tetthet: tegn bildene dine i dobbel visningsstørrelse, generer arket, legg deretter til background-size satt til halvparten av arkstørrelsen i basisklassen, og halver bredder, høyder og forskyvninger. Verktøyet genererer ikke dette: det er en manuell justering.
Er sprites fortsatt nyttige med HTTP/2?
Sprites ble funnet opp for å spare HTTP-forespørsler. Med multipleksing i HTTP/2 lastes mange små filer nesten like raskt som én, så gevinsten for nettsteder er mye mindre, og SVG-ikoner eller ikonskrifter er ofte bedre for skalerbare ikoner. Sprite-ark er fortsatt standarden for 2D-spill og animasjonsruter: én tekstur betyr færre teksturbytter på GPU-en og én fil å laste.
Ofte stilte spørsmål
Lastes bildene mine opp?
Nei. Alt dekodes, pakkes og kodes i nettleseren din. Bildene forlater aldri enheten din.
Hvilke spillmotorer kan lese JSON-en?
JSON-en bruker formatet «JSON hash» fra TexturePacker: et frames-objekt med filnavn som nøkler, hver med frame (x, y, w, h), rotated: false, trimmed: false og sourceSize, pluss meta.image og meta.size. Phaser, PixiJS og mange andre motorer laster det direkte.
Beholdes gjennomsiktigheten?
Ja. Arket er en PNG, så gjennomsiktige piksler forblir gjennomsiktige. Rutemønsteret i forhåndsvisningen vises bare der arket er tomt.
Hvorfor bruke toerpotensstørrelser?
Eldre GPU-er og WebGL 1 trenger teksturer med toerpotensstørrelse for mipmaps og repeteringsmoduser, og noen motorer forventer dem fortsatt. Valget runder arket opp, for eksempel blir 300 × 70 px til 512 × 128 px.
Blir spritene beskåret eller rotert?
Nei. Hvert bilde plasseres som det er, med sine gjennomsiktige marger, og roteres aldri, så posisjonene stemmer nøyaktig med de opprinnelige filene dine.
Relaterte verktøy
- Del opp bilde og rutenett for Instagram Del et bilde i et rutenett for Instagram, et panorama eller en plakat, med forhåndsvisning av snittene og nummererte filer. Gratis, uten opplasting.
- GIF-lager Lag en animert GIF av bilder eller et kort videoklipp. Velg rekkefølge, forsinkelse, gjentakelse, størrelse, farger og dithering. Gratis, ingen opplasting.
- Bildekollasj Lag en bildekollasj av 2 til 9 foto med rutenett og mosaikk, dra foto til rutene, flytt og zoom hvert enkelt og eksporter som PNG eller JPG.
- Favicon-generator Lag favicon.ico, PNG-ikoner, apple-touch-icon og site.webmanifest fra ett bilde eller en emoji, med HTML-tagger klare til å limes inn. ZIP uten opplasting.