# Ek Görüntü Formatları Destek Planı > Tarih: 2026-08-03 · Değerlendirme + implementasyon planı > Not: TIFF değerlendirildi ve **vazgeçildi** (kullanıcı kararı). Bu plan yalnızca mevcut mimariye sıfır maliyetle eklenebilen formatları kapsar. ## 1. Hedef imajViewer'ın desteklediği format listesini, **ek decode katmanı gerektirmeden** (Flutter/Skia'nın zaten açabildiği) formatlarla genişletmek. ## 2. Mevcut Durum ### Desteklenen uzantılar (kod içi, 3 yerde) | Dosya | Satır | Liste | |---|---|---| | `lib/services/file_handler.dart` | 9 | png, jpg, jpeg, webp, bmp, gif | | `lib/services/image_manager.dart` | 24 | png, jpg, jpeg, webp, bmp, gif | | `imajviewer.desktop` + `deb/.../imajviewer.desktop` | 9 | image/png;image/jpeg;image/webp;image/bmp;image/gif;image/jpg | | `install.sh` | 77 | aynı MimeType listesi | ### Flutter'ın yerleşik codec'leri (Skia) Resmi dokümantasyona göre Flutter açabilir: **JPEG, PNG, GIF, WebP, BMP, WBMP** Yani Skia zaten açabiliyor ama listemizde olmayanlar: - `.jfif` — JPEG/JFIF içerik (aslında JPEG, magic-byte aynı) - `.jpe` — JPEG alternatif uzantısı - `.wbmp` — Skia'da WBMP codec var - `.avif` — **YOK**: Flutter issue #61229 açık, native plugin (`flutter_avif`/libavif) gerekir → kapsam dışı - `.tif/.tiff` — **YOK**: image paketi gerekir → vazgeçildi ## 3. Eklenecekler | Uzantı | MIME | Neden açılır | Maliyet | |---|---|---|---| | `.jfif` | image/jpeg | JPEG codec, aynı magic byte | sadece filtre | | `.jpe` | image/jpeg | JPEG alternatif uzantısı | sadece filtre | | `.wbmp` | image/vnd.wap.wbmp | Skia WBMP codec | sadece filtre | > `.avif` bilinçli olarak eklenmiyor: Flutter'ın yerleşik decoder'ı yok; native libavif bağımlılığı "ultra hafif" felsefeyi bozar. İstenirse ileride ayrı plan yapılır. ## 4. Yapılacaklar (sıralı) 1. [ ] `file_handler.dart` → allowedExtensions: `'jfif', 'jpe', 'wbmp'` ekle 2. [ ] `image_manager.dart` → supported: `'jfif', 'jpe', 'wbmp'` ekle 3. [ ] `imajviewer.desktop` → MimeType'a `image/jpeg` zaten var (jfif/jpe kapsar), `image/vnd.wap.wbmp;` ekle 4. [ ] `deb/usr/share/applications/imajviewer.desktop` → aynı 5. [ ] `install.sh` → aynı MimeType güncellemesi 6. [ ] Windows installer (`.iss`) dosya ilişkilendirme listesi kontrolü — varsa `image/jpeg` jfif/jpe'yi kapsar ## 5. Riskler / Açık Sorular - **JFIF varyantı:** Bazı .jfif dosyaları CMYK-JPEG olabilir; Skia çoğunu açıyor ama tamamını değil → açılmayanlar `errorBuilder` ekranı gösterir (mevcut davranış, çökme yok) - **WBMP nadir:** Çoğu kullanıcı hiç karşılaşmaz; eklemesi zararsız - **Windows ilişkilendirme:** Inno Setup `.iss` dosyası `image/jpeg` kayıtlıysa .jfif/.jpe otomatik kapsanır; `.wbmp` için ayrı registry gerekebilir (opsiyonel) ## 6. Kabul Kriterleri - [ ] `.jfif`, `.jpe`, `.wbmp` dosyaları dosya seçicide görünür - [ ] JFIF dosyası pan/zoom/filtre ile görüntülenir - [ ] Mevcut PNG/JPEG/WebP/GIF/BMP davranışı değişmez