KKitForma.

Dil

EnglishEnglishTürkçeTurkishDeutschGermanBlog bu dilde yok · kataloğu açEspañolSpanishBlog bu dilde yok · kataloğu açFrançaisFrenchBlog bu dilde yok · kataloğu açPortuguêsPortugueseBlog bu dilde yok · kataloğu açItalianoItalianBlog bu dilde yok · kataloğu açNederlandsDutchBlog bu dilde yok · kataloğu açPolskiPolishBlog bu dilde yok · kataloğu açРусскийRussianBlog bu dilde yok · kataloğu açУкраїнськаUkrainianBlog bu dilde yok · kataloğu açSvenskaSwedishBlog bu dilde yok · kataloğu açNorskNorwegianBlog bu dilde yok · kataloğu açDanskDanishBlog bu dilde yok · kataloğu açSuomiFinnishBlog bu dilde yok · kataloğu açČeštinaCzechBlog bu dilde yok · kataloğu açRomânăRomanianBlog bu dilde yok · kataloğu açΕλληνικάGreekBlog bu dilde yok · kataloğu açالعربيةArabicBlog bu dilde yok · kataloğu açעבריתHebrewBlog bu dilde yok · kataloğu açفارسیPersianBlog bu dilde yok · kataloğu açاردوUrduBlog bu dilde yok · kataloğu açहिन्दीHindiBlog bu dilde yok · kataloğu açবাংলাBengaliBlog bu dilde yok · kataloğu açதமிழ்TamilBlog bu dilde yok · kataloğu açతెలుగుTeluguBlog bu dilde yok · kataloğu açमराठीMarathiBlog bu dilde yok · kataloğu açગુજરાતીGujaratiBlog bu dilde yok · kataloğu aç简体中文Chinese SimplifiedBlog bu dilde yok · kataloğu aç繁體中文Chinese TraditionalBlog bu dilde yok · kataloğu aç日本語JapaneseBlog bu dilde yok · kataloğu aç한국어KoreanBlog bu dilde yok · kataloğu açTiếng ViệtVietnameseBlog bu dilde yok · kataloğu açไทยThaiBlog bu dilde yok · kataloğu açBahasa IndonesiaIndonesianBlog bu dilde yok · kataloğu açBahasa MelayuMalayBlog bu dilde yok · kataloğu açFilipinoFilipinoBlog bu dilde yok · kataloğu açKiswahiliSwahiliBlog bu dilde yok · kataloğu açAfrikaansAfrikaansBlog bu dilde yok · kataloğu açMagyarHungarianBlog bu dilde yok · kataloğu açБългарскиBulgarianBlog bu dilde yok · kataloğu açHrvatskiCroatianBlog bu dilde yok · kataloğu açSrpskiSerbianBlog bu dilde yok · kataloğu açSlovenčinaSlovakBlog bu dilde yok · kataloğu açSlovenščinaSlovenianBlog bu dilde yok · kataloğu açLietuviųLithuanianBlog bu dilde yok · kataloğu açLatviešuLatvianBlog bu dilde yok · kataloğu açEestiEstonianBlog bu dilde yok · kataloğu açCatalàCatalanBlog bu dilde yok · kataloğu açEuskaraBasqueBlog bu dilde yok · kataloğu aç

Kod ve veri

CSV hücreleri, görsel pikselleri ve baytları: tekrarlanabilir deney

İndirilebilir CSV ve görsellerle küçük KitForma deneyini tekrarla. Gerçek çıktıları, tam bayt sayılarını, kaynak kodunu ve örneklemin sınırlarını incele.

Gerçek PNG çıktıları: 900 × 600 sığdırmada daire yuvarlak kalır; 900 × 900 kırpmada kenarlar kaybolur; 900 × 900 esnetmede daire oval olur.
8 Ekim 2026’da ölçülen yeni çıktılar gerçek en-boy oranlarıyla gösterilir. Kullanılan yerel Canvas uyarlaması aşağıda açıklanmıştır.

Üç günlük kontrol, indirilebilir bir deney

8 Ekim 2026’da yeni sentetik dosyalar üretip KitForma’nın gerçek CSV ayırıcı ve görsel işleme motorlarını çalıştırdık. Amacımız bilinen hücrelerin korunmasını, sığdırma-kırpma-esnetme farkını ve piksel boyutları değişmeden JPEG baytlarının değişmesini gözlemekti. Bu, kanıtları incelenebilen küçük bir KitForma denemesidir; bağımsız araç sıralaması veya temsili performans araştırması değildir.

CSV örneklemi toplam sekiz veri kaydı içeren dört geçerli dosya ve bir bozuk dosyadan oluşur. Görseller bir 2400 × 1600 geometrik girdi ile 1200 × 800 boyutlarında düz şekiller ve sabit tohumlu doku içerir. ZIP dosyasında girdiler, gerçek çıktılar, elle yazılmış beklenen hücre dizileri, kaynak kodu, tam bayt sayıları, dosya özetleri ve deney betiği bulunur.

Download the complete lab: inputs, outputs, source and README (ZIP) ↗Measured results, runtime and SHA-256 file hashes (JSON) ↗Measured result rows (CSV) ↗

CSV: satır sayısından önce hücre değerlerini karşılaştır

Dört geçerli örnek noktalı virgülden virgüle, virgülden sekmeye, sekmeden noktalı virgüle dönüşümü ve başında BOM bulunan UTF-8 metni kapsar. Tırnak içindeki ayırıcılar, çift tırnaklar, hücre içi LF ve CRLF satır sonları, boş hücreler, kenar boşlukları ve 007 gibi kodlar denenir. Her dosyada bir başlık, iki veri kaydı ve her kayıtta üç hücre vardır.

Dört gerçek çıktı elle yazılmış beklenen metinle eşleşti; başlıklar dahil 36 hücrenin tamamı beklenen metin dizileriyle aynıydı. Kapanmayan tırnak reddedildi. Aynı girdilerde düz bul-değiştir işlemi dört örneğin üçünde hücreleri değiştirdi; boşluk ve boş hücre örneğinde değerleri tesadüfen korudu. Bir dosyada çalışması, tırnaklı başka bir dosya için yeterli kanıt değildir.

İlk örnekte Vase; green içindeki noktalı virgül adın parçasıdır ve dönüşümden sonra korunur. Pack, carefully ise virgülle ayrılan çıktıda tırnak gerektirir. 007 bu dönüşümde metin olarak kalır; deney, elektronik tablonun sonraki tür tahminini ölçmez. Alıcı uygulama izin veriyorsa kimlik sütunlarını metin olarak içe aktar.

Noktalı virgüllü girdi:
name;code;note
"Vase; green";007;"Pack, carefully"

Virgüllü gerçek çıktı:
name,code,note
Vase; green,007,"Pack, carefully"

CSV sample: semicolon input ↗CSV sample: actual comma output ↗RFC 4180: CSV quoting and record structure ↗

Boyutlandırma: aynı sınırlar farklı şekiller üretebilir

Yeni kaynak 2400 × 1600, yani 3:2 oranında bir dikdörtgendir; 800 piksel çaplı daire ve 400 piksellik kenar şeritleri içerir. Oran korunarak 900 × 900 sınırlarına sığdırıldığında çıktı 900 × 600 oldu ve kaynak bütünüyle korundu. Oran kilidi açılınca 900 × 900 çıktı oluştu ve daire ovalleşti.

Kare için önce Sol 400, Üst 0, Genişlik 1600, Yükseklik 1600 kaynak alanını kırptık; sonra 900 × 900’e boyutlandırdık. Kenarlar kayboldu, daire yuvarlak kaldı. Kırpma ayrı işlemdir: Boyutlandır aracı tek başına otomatik kırpma veya dolgu eklemez.

Kaydedilen PNG’leri açarak boyutları doğruladık ve tam turkuaz renkteki piksellerin sınır kutusunu ölçtük. Sığdırma 298 × 298, kırpma 448 × 448, esnetme 300 × 448 verdi. Yumuşatılmış kenar pikselleri sayılmadığı için bunlar matematiksel çap değil iç renk ölçüleridir. Betik geometrik beklentiye göre iki piksel tolerans kullanır.

İşlem                 Açılan boyut       Bayt
Oranı koruyup sığdır   900 × 600          10.372
Kırp, sonra boyutlandır 900 × 900         16.612
Oranı açıp esnet       900 × 900          14.297

Resize input: new 2400 × 1600 geometry PNG ↗Resize output: fit, 900 × 600 PNG ↗Resize output: crop then resize, 900 × 900 PNG ↗Resize output: stretch, 900 × 900 PNG ↗MDN: drawImage source rectangles and scaling ↗

Sıkıştırma: aynı pikseller aynı dosya boyutu demek değildir

İki 1200 × 800 PNG’nin her birini bağımsız olarak 40, 60, 80 ve 95 kalite ayarlarıyla JPEG’e çevirdik. Hedef dosya boyutu veya yeniden boyutlandırma kullanılmadı. Sekiz JPEG’in tamamı açıldığında 1200 × 800 çıktı. Kalite sayısı kodlayıcıya verilen ayardır; ölçülmüş görsel doğruluk yüzdesi değildir.

Düz şekilli PNG 15.877 bayttı. Kalite 95 JPEG çıktısı 18.334 bayt, yani bu PNG’den %15,48 daha büyüktü. Kalite 80’de 13.209 bayt oldu. Dokulu PNG 1.506.669 bayttı; JPEG çıktıları 92.894–515.771 bayt aralığındaydı. Bu iki yapay örnek, yalnız biçim ve kalite seçerek başka bir görselin kazancını tahmin edemeyeceğimizi gösterir.

1200 × 800 piksel korunurken kesin olarak 100.000 baytın altında kalmak gerekseydi, denenen dört doku çıktısından yalnız kalite 40 iki sayısal koşulu karşılardı. Bu varsayımsal eşiktir; gerçek site kuralı değildir. Sığan en yüksek kaliteyi aramadık ve görsel kalite puanı hesaplamadık. Bir çıktıyı seçmeden önce tam boyutta açıp ince siyah-beyaz kenarları karşılaştır.

Kalite    Düz şekiller JPEG    Dokulu JPEG
40        10.185 bayt           92.894 bayt
60        11.158 bayt          148.323 bayt
80        13.209 bayt          267.600 bayt
95        18.334 bayt          515.771 bayt

PNG: düz 15.877 bayt; doku 1.506.669 bayt.
Tüm girdiler ve bu çıktılar: 1200 × 800 piksel.
Düz ve dokulu 1200 × 800 girdiler için 40, 60, 80 ve 95 kalite ayarlarında ölçülen JPEG baytları; tam değerler yanındaki metin tablosunda da verilmiştir.
Sayılar indirilebilir dosyalara aittir. 100.000 bayt eşiği örnektir; dosya boyutu görsel kalite puanı değildir.

Compression input: flat shapes PNG ↗Compression output: flat shapes, JPEG quality 95 ↗Compression input: seeded texture PNG ↗Compression output: texture, JPEG quality 40 ↗Compression output: texture, JPEG quality 80 ↗MDN: Canvas export formats and quality ↗

Ölçümü tekrarla veya dosyaları araçlarda dene

Deneyi tekrarlamak için ZIP’i indir, boş bir klasöre aç ve Node.js 24 veya üstünü kur. O klasörde aşağıdaki komutları çalıştır. npm install tek tanımlı bağımlılık olan @napi-rs/canvas 1.0.9’u internetten indirir. Deney dosyaları daha sonra veri yüklemeden veya bir hizmet çağırmadan yerel olarak üretilir. Çıktılar rerun klasörüne yazılır; yayımlanan ölçümler karşılaştırma için korunur.

Yayımlanan çalıştırma Windows x64 üzerinde Node.js v24.19.0, @napi-rs/canvas 1.0.9 ve esbuild 0.28.1 ile hazırlanmış gerçek motor kopyasını kullandı. Kaynak dosyaların SHA-256 özetleri engine-sources.json içindedir. Yerel Canvas uyarlaması gerçek processImage fonksiyonuna çözme, çizme ve kodlama sağlar. Tarayıcı arayüzünü çalıştırmaz; Chrome, Safari veya başka tarayıcıların aynı baytları üreteceğini kanıtlamaz.

KitForma’da denemek için noktalı virgüllü dosyayı CSV ayırıcı dönüştürücüde, geometrik PNG’yi Boyutlandır’da, 1200 × 800 PNG’lerden birini Sıkıştır’da aç. Belirtilen ayarları seç, gerçek çıktını indir ve hücreleri, boyutları ve baytları ayrı ayrı karşılaştır. Tarayıcının bayt sonucu farklıysa bu tabloyu kopyalamak yerine kendi sonucunu kaydet.

npm install
node run-lab.mjs

İncele: rerun/results.json
Karşılaştır: rerun/results.csv

Download the complete lab: inputs, outputs, source and README (ZIP) ↗Read the methodology and reproduction commands ↗Inspect the reproducible experiment script ↗

Sonucu örneklemin sınırları içinde kullan

Dört küçük geçerli CSV ve bir reddedilen girdi bütün CSV lehçelerini, kodlamaları, elektronik tabloları veya büyük dosya iş yüklerini doğrulamaz. İki yapay görsel; fotoğrafları, ekran görüntülerini, saydam çizimleri veya üretim koleksiyonunu temsil etmez. EXIF yönü, animasyon, HEIC, renk yönetimi, erişilebilirlik, OCR, yükleme kabulü ve hız denenmedi.

Tekrarlanabilir yöntem şudur: CSV değişiminden sonra hücreleri ve kimlik metinlerini karşılaştır. Boyutlandırmadan sonra kaydedilen en-boy değerlerini ve şekli incele. Sıkıştırmadan sonra kabul edilen biçimi, tam bayt sayısını, pikselleri ve görünür ayrıntıyı kontrol et. Orijinali sakla; dosyanın hazır olup olmadığına alıcı uygulamanın gerçek koşullarıyla karar ver.

KITFORMA

Hemen uygula

Rehberleri ücretsiz ve hesapsız okuyabilirsin. İlgili araçlar varsa hesap veya Pro koşullarını açıklar.

İleri okuma

Kaynaklar son kontrol edildi:

KitForma bu rehberi yapay zekâ desteğiyle hazırladı. Örnekler açıklama amacı taşır; gerçek satış, arama hacmi veya başarı ölçümü değildir. Bağlantılı kaynakları ve kendi dosyandaki sonucu kontrol et.

Bu rehberi nasıl kullanmalı?

KitForma tarafından yayımlanır ve güncellenir. Kaynak bağlantıları ilgili biçim ve tanımları açıklar. Örnek girdiler, kendi dosyaların için hız, kalite veya uyumluluk garantisi vermez. Aracın belirtilen sınırlarını oku ve indirdiğin sonucu kontrol et.

Yayıncı ve proje bilgileri

Yayın tarihi:

LinkedInXWhatsApp

Düzeltilmesi gereken bir ayrıntı mı fark ettin? Bize yaz.

Yeni rehberlerden haberdar ol

KitForma araçları, pratik rehberler ve ürün yenilikleri için isteğe bağlı e-posta bültenimize katıl.

Brevo’daki ayrı formda izin verip gelen e-postadaki bağlantıyı onaylarsın. Hesap ve destek izinlerinden bağımsızdır. Her bültendeki bağlantıdan abonelikten çıkabilirsin.

— görüntülenme— beğeniYorum yap

Sorular ve deneyimler

İşe yarayan bir yöntemi paylaş, soru sor veya düzeltme öner. Şifre, özel dosya ya da kişisel belge bilgilerini yazma.

Yorumlar yükleniyor…