CSS-sprite-sheet-generator
Gratis generator til CSS-sprite sheets. Saml op til 500 billeder i én PNG med CSS-klasser til background-position eller et JSON-texture atlas, uden upload.
Billeder
- Arkets størrelse
- Udnyttet plads
Sådan laver du et sprite sheet
- Slip dine billeder i dropzonen, eller klik på den for at vælge dem. PNG, SVG, WebP, JPG og de andre formater, som din browser kan læse, accepteres, op til 500 billeder. Hver fil vises på listen Billeder med sin størrelse; knappen × fjerner ét billede, og Fjern alle billeder rydder listen.
- Vælg et Layout: Gitter, Pakket (mindste ark), Vandret strimmel eller Lodret strimmel. Med Gitter angiver Kolonner (0 = automatisk) antallet af kolonner.
- Indstil Afstand (px) mellem sprites (som standard 2), og afkryds Todelsstørrelse (256, 512, 1024 …), hvis din motor eller dit GPU kræver det.
- Vælg Datafil: CSS (klasser med background-position), JSON (billedkort) eller CSS og JSON. Tilpas Filnavn og Præfiks til CSS-klasser (begge som standard »sprite«).
- Tjek eksemplet, Arkets størrelse og Udnyttet plads, og klik derefter på Download ZIP (PNG + data) eller Download kun PNG. Den Genererede kode kan også kopieres direkte.
Billederne afkodes i din browser, og intet uploades. En SVG uden egen bredde og højde rasteriseres med den længste side på 256 px.
Valg af layout
- Gitter giver hvert billede en celle, der har samme størrelse som det største billede. Med automatiske kolonner er gitteret nogenlunde kvadratisk. Det er enkelt og forudsigeligt og ideelt, når alle sprites har samme størrelse, som et sæt fliser.
- Pakket (mindste ark) bruger hylde-pakning: billederne sorteres med de højeste først og placeres fra venstre mod højre i rækker. Værktøjet prøver mange arkbredder og beholder den med det mindste areal, med hensyn til afrunding til todelsstørrelse, når den indstilling er slået til. Bedst til ikoner i forskellige størrelser.
- Vandret strimmel og Lodret strimmel lægger billederne i én række eller kolonne i den rækkefølge, du tilføjede dem. Det er det, mange animationsafspillere forventer til billeder i en animation.
Arket kan ikke overstige 16.384 px pr. side eller ca. 16,7 megapixels, den grænse, browsere kan tegne.
Sådan bruger du CSS’en
CSS’en indeholder en basisklasse med arket som background-image og no-repeat og derefter én klasse pr. sprite opkaldt efter filen: home.png bliver til sprite-home. Navne skrives med små bogstaver, accenter fjernes, andre tegn bliver til bindestreger, og dubletter 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 angiver width, height og en background-position med negative forskydninger. En sprite ved x = 40, y = 20 får background-position: -40px -20px: hele arket forskydes 40 px mod venstre og 20 px opad inde i elementet, så kun den sprite ses gennem elementets boks. Afstanden forhindrer, at nabosprites trænger ind, når siden zoomes, eller en tekstur filtreres.
Skærme med høj DPI: tegn dine billeder i dobbelt så stor størrelse som visningen, generér arket, tilføj derefter background-size sat til halvdelen af arkets størrelse i basisklassen, og halvér bredder, højder og forskydninger. Værktøjet genererer ikke dette; det er en manuel justering.
Er sprites stadig nyttige med HTTP/2?
Sprites blev opfundet for at spare HTTP-forespørgsler. Med multiplexing i HTTP/2 indlæses mange små filer næsten lige så hurtigt som én, så gevinsten for websites er meget mindre, og SVG-ikoner eller ikonskrifttyper er ofte bedre til skalerbare ikoner. Sprite sheets er stadig standarden til 2D-spil og billeder i animationer: én tekstur betyder færre teksturskift i GPU’et og én fil at indlæse.
Ofte stillede spørgsmål
Bliver mine billeder uploadet?
Nej. Alt afkodes, pakkes og kodes i din browser. Billederne forlader aldrig din enhed.
Hvilke spilmotorer kan læse JSON-filen?
JSON-filen bruger formatet »JSON hash« fra TexturePacker: et frames-objekt med filnavnet som nøgle, hver med frame (x, y, w, h), rotated: false, trimmed: false og sourceSize samt meta.image og meta.size. Phaser, PixiJS og mange andre motorer indlæser det direkte.
Bevares gennemsigtigheden?
Ja. Arket er en PNG, så gennemsigtige pixels forbliver gennemsigtige. Skakternet i eksemplet vises kun, hvor arket er tomt.
Hvorfor bruge todelsstørrelser?
Ældre GPU’er og WebGL 1 kræver teksturer med todelsstørrelse til mipmaps og gentagelsestilstande, og nogle motorer forventer det stadig. Indstillingen runder arket op, for eksempel bliver 300 × 70 px til 512 × 128 px.
Bliver sprites trimmet eller roteret?
Nej. Hvert billede placeres, som det er, med sine gennemsigtige margener og roteres aldrig, så positionerne svarer nøjagtigt til dine originale filer.
Relaterede værktøjer
- Del billede i gitter og felter Del et billede op i et gitter af felter til Instagram, panorama eller plakat til print, med eksempel på snit og nummererede filer. Gratis og uden upload.
- GIF-maker – lav animeret GIF Lav en animeret GIF af flere billeder eller et kort videoklip. Ændr rækkefølge, forsinkelser, gentagelser, størrelse, farver og dithering. Gratis, ingen upload.
- Lav fotocollage Lav en fotocollage af 2 til 9 billeder med gitter- og mosaiklayout, træk fotos ind i cellerne, panorér og zoom hvert enkelt, og eksportér som PNG eller JPG.
- Favicon-generator Lav favicon.ico, PNG-ikoner, apple-touch-icon og site.webmanifest ud fra ét billede eller en emoji, med HTML-tags klar til at indsætte. Download som ZIP.