Sprite Sheet Oluşturucu
Bir grup görsel bırakın; oluşturucu bunları eşit bir ızgaraya yerleştirir ve tarayıcınızda tek bir sprite sheet PNG çizer, ardından her sprite için bir background-position ofseti içeren CSS üretir. Her şey yerel olarak canvas üzerinde çalışır, dolayısıyla hiçbir şey bir sunucuya yüklenmez. Simge setleri, retro oyun kareleri ve çok sayıda ayrı görsel yerine tek bir dosya istediğiniz arayüz durumları için kullanışlıdır. Sütun sayısını, döşeme boyutunu, hücreler arası boşluğu ve arka planı (saydam, beyaz veya siyah) siz belirlersiniz.
Sprite sheet nasıl oluşturulur
-
1
Görsellerinizi bırakın
PNG, JPG veya WebP dosyaları ekleyin. Yukarı/aşağı denetimleriyle sıralarını değiştirin ya da bir kareyi kaldırın; sayfa anında yeniden oluşturulur.
-
2
Izgarayı ayarlayın
Sütun sayısını seçin; satır sayısı eklediğiniz görsel sayısından belirlenir. Her görsel, en boy oranı korunarak kare bir döşemeye sığacak şekilde ölçeklenir ve ortalanır.
-
3
Döşeme boyutunu ve boşluğu ayarlayın
Döşeme boyutunu piksel olarak seçin ve ölçeklerken komşu sprite'ların birbirine taşmaması için hücreler arasına boşluk ekleyin.
-
4
PNG indirin ve CSS kopyalayın
Sprite sheet'i tek bir PNG olarak kaydedin ve üretilen CSS sınıflarını kopyalayın: her görsel için genişlik, yükseklik ve background-position içeren bir `.spr-ad` kuralı.
Yerleşim nasıl çalışır
Oluşturucu tek ve öngörülebilir bir yerleşim kullanır: eşit bir ızgara. Sütun sayısını siz belirlersiniz; satır sayısı yukarı_yuvarla(görseller / sütunlar) olur. Her hücre aynı kare boyuttadır (seçtiğiniz döşeme boyutu), bu yüzden her görsel en boy oranı korunarak hücresine sığacak şekilde ölçeklenir ve ortalanır. Farklı boyuttaki görsellerin hepsi eşit hücrelere yerleşir, background-position kullanan CSS sprite’larının beklediği tam da budur.
| Denetim | Aralık | Etki |
|---|---|---|
| Sütunlar | 1 ila 16 | Satır başına sprite; satırlar otomatik hesaplanır |
| Döşeme boyutu | 32 ila 512 px | Her görselin sığdırıldığı kare hücre |
| Boşluk | 0 ila 64 px | Ölçeklerken taşmayı önleyen, hücreler arası saydam boşluk |
| Arka plan | Saydam / Beyaz / Siyah | Çıktı PNG’sinde sprite’ların arkasındaki dolgu |
Üretilen CSS’in biçimi
Her görsel, dosyasının adını taşıyan bir sınıfa dönüşür (.spr-<ad>), döşeme boyutunda ve kendi hücresine ötelenmiş olarak. Dört sütun, 128 px döşeme boyutu ve boşluk yokken sayfa şöyle görünür:
.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; }
Ofset iki boyutta hareket eder: sprite’lar her satırı soldan sağa doldurur, sonra bir sonraki satıra geçer. PNG’yi CSS’inizin yanına spritesheet.png olarak kaydedin (ya da yolunuza uyması için url(...) değerini düzenleyin).
Boşluk ve taşma
Kenar kenara paketlenen sprite’lar, tarayıcı sayfayı ölçeklediğinde (tam sayı olmayan piksel oranları, CSS dönüşümleri) birbirine taşabilir. Komşu piksellerin sızmasını önlemek için hücreler arasına 2 ila 4 piksel boşluk ekleyin.
Yüksek yoğunluklu ekranlar (retina)
Otomatik 2x dışa aktarma yoktur, ancak daha keskin bir sayfayı kolayca elde edebilirsiniz: her sprite daha çok piksel taşısın diye daha büyük bir döşeme boyutu seçin (örneğin 128 px yerine 256 px), sonra onu CSS boyutunun yarısında gösterin. Böylece ayrı bir geçiş olmadan yüksek yoğunluklu ekranlarda keskin sprite’lar elde edersiniz.
Sprite sheet mi, alternatifler mi
- Sprite sheet’ler: CSS’te klasik simge setleri, HTML5 oyun kareleri ve çok sayıda küçük görseli tek dosyada toplamaktan yararlanan sayfalar.
- SVG sprite’lar (symbol): modern arayüz simgeleri için daha iyidir, kayıpsız ölçeklenir, CSS
fillkabul eder,background-positionile uğraşmak gerekmez. - Simge yazı tipleri: sınırlıdır ama minik tek renkli simgeler için hâlâ kullanılır.
- HTTP/2 veya HTTP/3 ile ayrı dosyalar: çoğullama, istek sayısını eskisinden daha az önemli hale getirir.
Sık Sorulan Sorular
Görseller tarayıcınızda kalır. Çok adımlı akışta seçilen dosyalar ve düzen, en fazla 30 dakika boyunca bu tarayıcı sekmesinde geçici olarak tutulur. Hiçbir şey sunucuya gönderilmez veya URL’ye eklenmez.
Evet, ancak satır içi SVG’ler veya SVG <symbol> sprite’ları genellikle bileşen çerçevelerine daha iyi oturur. CSS sprite sheet’leri, statik sayfalarda aynı anda birçok görsel gösterildiğinde parlar.
Her kare bir satırda olsun diye sütun sayısını kare sayınıza eşitleyin, ardından CSS animation-timing-function: steps(N) ve hücre hücre atlayan bir background-position ile yönetin. Kısa döngü animasyonları (yükleniciler, boşta durumları) için iyi çalışır.
Izgaradaki her hücre aynı kare boyuttadır (seçtiğiniz döşeme boyutu), bu yüzden her görsel kendi hücresine sığdırılır ve ortalanır. Sprite’larınız zaten aynı karelerse, döşeme boyutunu buna göre ayarlayın; değişmeden geçerler.
İlgili Araçlar
İsimlik Oluşturucu
Ad | ikinci satır listesinden yazdırılabilir en fazla 60 isimlik oluşturun. A4 veya US Letter üzerinde sayfa başına 8 kart ya da 15 etiket seçin ve yerel olarak yazdırın.
Fotoğrafı Eskize Dönüştürme
JPEG, PNG veya WebP fotoğrafı tarayıcıda grafit, yumuşak kalem ya da füzen tonlarında eskize dönüştürüp PNG veya JPEG olarak kaydedin.
QR Kod Okuyucu
PNG, JPG veya WebP görüntüsünden QR kodu tarayıcıda çözün. URL, Wi-Fi, vCard, SMS, e-posta, takvim, geo veya metni kullanmadan önce görün.
Tier Listesi Oluşturucu
Metin ve yerel görsellerle özel bir tier listesi oluşturun. Satırları özelleştirin, sürükleyerek veya klavyeyle sıralayın; JSON, PNG ya da SVG dışa aktarın.
Grafiti Yazı Oluşturucu
Tag, balon, blok, şablon, neon ve wild efektleriyle grafiti tarzı yazılar hazırlayın. Renkleri ayarlayıp tarayıcıda PNG veya SVG olarak dışa aktarın.
Görsel boyutlandırıcı
Görselleri en boy oranını koruyarak kesin piksel ölçülerine veya yüzdelere göre yeniden boyutlandırın. Toplu hazırlık için uygundur, yükleme gerekmez.