Görüntüleri formatlar arasında dönüştürmek kulağa basit gelmeli — uzantıyı değiştir yeter, değil mi? Gerçekte ise her gün binlerce kullanıcı, yerel makinelerinde görüntü dönüştürmeye çalışırken anlaşılması güç hatalarla, bozuk çıktılarla ve yazılım çökmeleriyle karşılaşıyor. Buna karşılık GuruPDF gibi çevrimiçi araçlar aynı dönüşümleri saniyeler içinde kusursuzca gerçekleştiriyor.
Bu makale, Windows, macOS ve Linux’ta insanların en sık karşılaştığı görüntü dönüştürme hatalarına derinlemesine iner, neden meydana geldiklerini açıklar ve bunlardan tamamen nasıl kaçınacağınızı gösterir.
En Yaygın Görüntü Formatları (ve Neden Her Zaman İyi Anlaşamazlar)
Hatalara geçmeden önce, en çok sorun çıkaran formatları anlayalım:
| Format | Tam Adı | Sıkıştırma | Saydamlık | Tipik Kullanım |
|---|---|---|---|---|
| JPG/JPEG | Joint Photographic Experts Group | Kayıplı | Hayır | Fotoğraflar, web görselleri |
| PNG | Portable Network Graphics | Kayıpsız | Evet | Ekran görüntüleri, logolar, grafikler |
| WebP | Web Picture | Her ikisi | Evet | Modern web optimizasyonu |
| HEIC/HEIF | High Efficiency Image Container | Kayıplı/Kayıpsız | Evet | iPhone/iPad fotoğrafları (iOS 11+) |
| AVIF | AV1 Image File Format | Kayıplı/Kayıpsız | Evet | Yeni nesil web formatı |
| SVG | Scalable Vector Graphics | N/A (vektör) | Evet | İkonlar, illüstrasyonlar, logolar |
| TIFF | Tagged Image File Format | Kayıpsız | Evet | Baskı, tarama, arşivleme |
| BMP | Bitmap | Yok | Hayır | Eski Windows formatı |
| GIF | Graphics Interchange Format | Kayıpsız | 1-bit | Animasyonlar, basit grafikler |
| EPS | Encapsulated PostScript | N/A (vektör) | Hayır | Baskı tasarımı, profesyonel grafikler |
| DJVU | DjVu | Kayıplı | Hayır | Taranmış belgeler, kitaplar |
Sorun ne? Çoğu işletim sistemi ve yerleşik araç, bunların yalnızca birkaçını yerel olarak destekler. Hatalar da burada başlar.
Hata #1: "Windows Photo Viewer Can't Open This Picture" (HEIC/AVIF/WebP)
Görebileceğiniz hata kodları ve mesajlar:
"Windows Photo Viewer can't open this picture because either Photo Viewer
doesn't support this file format, or you don't have the latest updates.""It looks like we don't support this file format."
— Microsoft Photos app"0xc00d5212: This item was encoded in a format that's not supported."Neden olur: Windows 10/11, HEIC’i (iOS 11’den beri iPhone’un varsayılan fotoğraf formatı) veya AVIF’i yerel olarak desteklemez. Microsoft Store’dan “HEIF Image Extensions” ($0.99) ve “AV1 Video Extensions” yüklemeniz gerekir. WebP desteği ise yalnızca Windows 10 sürüm 1809 ve sonrasında eklendi.
Yerelde çözüm denemesi: Codec paketleri kurmak, üçüncü taraf görüntüleyiciler kullanmak ya da ImageMagick gibi komut satırı araçlarını denemek:
magick convert input.heic output.jpgAncak ImageMagick, ek delegate’lerin (libheif, libde265) kurulmasını gerektirir; bu da çoğu zaman şu hatalarla başarısız olur:
convert: delegate failed `"dwebp" -pam "%i" -o "%o"' @ error/delegate.c/InvokeDelegate/1911.convert: no decode delegate for this image format `HEIC' @ error/constitute.c/ReadImage/746.Kolay çözüm: HEIC, AVIF veya WebP dosyalarınızı GuruPDF’ye yükleyin ve tek tıkla JPG veya PNG’ye dönüştürün — codec yok, kurulum yok, hata yok.
Hata #2: "No Decode Delegate" — ImageMagick’te Eksik Codec’ler
Tam hata mesajı:
convert: no decode delegate for this image format `WEBP' @ error/constitute.c/ReadImage/746.convert: no decode delegate for this image format `SVG' @ error/constitute.c/ReadImage/746.convert: no decode delegate for this image format `EPS' @ error/constitute.c/ReadImage/746.Neden olur: ImageMagick en popüler komut satırı görüntü araçlarından biridir, ancak kutudan çıktığı haliyle her format için decoder içermez. Her format bir “delegate” kütüphanesi gerektirir:
- WebP için
libwebp - HEIC için
libheif+libde265 - AVIF için
libavif+dav1d - SVG için
librsvgveya Inkscape - EPS için Ghostscript (
gs) - DJVU için
djvulibre
Bunları Windows’ta kurmak özellikle sancılıdır — önceden derlenmiş DLL’leri indirmeniz, doğru dizine koymanız ve sürümlerin uyuşmasını ummanız gerekir.
macOS’ta:
brew install imagemagick --with-librsvg --with-libheif --with-webpÇoğu zaman şu hatayla başarısız olur:
Error: invalid option: --with-librsvgÇünkü Homebrew formül yapısını değiştirdi ve bu seçenekler kaldırıldı.
Linux’ta (Ubuntu/Debian):
sudo apt install imagemagick libheif-dev libwebp-devYine de başarısız olabilir; çünkü sistemdeki ImageMagick delegate olmadan derlenmiş olabilir. Kaynaktan derlemeniz gerekir:
./configure --with-heic=yes --with-webp=yes
make && sudo make installBu işlem 10+ dakika sürebilir ve sistem paketleriyle çakışabilir.
Hata #3: "Not a JPEG File: Starts With 0x89" — Yanlış Dosya Uzantısı
Hata mesajları:
Not a JPEG file: starts with 0x89 0x50Corrupt JPEG data: premature end of data segmentlibpng error: Not a PNG fileIHDR: CRC errorNeden olur: Birisi bir PNG dosyasını .jpg olarak yeniden adlandırmıştır (ya da tam tersi). Dosya uzantısı, gerçek ikili içerikle eşleşmez. 0x89 0x50 baytları PNG magic number’ıdır (her PNG dosyasının ilk baytları 89 50 4E 47’dir). JPEG dosyaları FF D8 FF ile başlar.
Bu durum şaşırtıcı derecede sık olur, özellikle:
- Web’den görsel indirirken (sunucular bazen yanlış Content-Type başlığı ayarlar)
- Dosyaları toplu yeniden adlandırıp aslında dönüştürme yapmadığınızda
- E-posta istemcileri veya mesajlaşma uygulamaları uzantıları sessizce değiştirdiğinde
Gerçek formatı nasıl tespit edersiniz:
file mysterious-image.jpg
# Output: mysterious-image.jpg: PNG image data, 1920 x 1080, 8-bit/color RGBAWindows’ta (PowerShell):
Format-Hex -Path .\image.jpg -Count 4
# If you see 89 50 4E 47, it's actually a PNG
# If you see FF D8 FF, it's a real JPEGÇevrimiçi avantaj: GuruPDF, uzantı ne derse desin gerçek dosya formatını otomatik olarak algılar ve doğru şekilde dönüştürür.
Hata #4: Python Pillow (PIL) Dönüştürme Hataları
Yaygın hata mesajları:
PIL.UnidentifiedImageError: cannot identify image file 'photo.heic'OSError: cannot write mode RGBA as JPEGOSError: cannot write mode P as JPEGPIL.Image.DecompressionBombError: Image size (178956970 pixels) exceeds limit of 89478485 pixelsNeden olur: Python’un Pillow kütüphanesi programatik görüntü dönüştürmede en çok tercih edilen araçtır, ancak ciddi sınırlamaları vardır:
pillow-heifolmadan HEIC desteği yoktur (ayrı bir kurulumdur ve sistem kütüphaneleri gerektirir)- RGBA → JPEG başarısız olur çünkü JPEG saydamlığı desteklemez — önce RGB’ye çevirmelisiniz
- Palet modu (P) → JPEG için RGB’ye dönüştürme gerekir
- Büyük görüntüler, “decompression bomb” korumasını tetikler (bir güvenlik özelliği)
İnsanların zorlandığı tipik workaround kodu:
from PIL import Image
img = Image.open("photo.png")
# Handle transparency for JPEG output
if img.mode in ('RGBA', 'LA', 'P'):
background = Image.new('RGB', img.size, (255, 255, 255))
if img.mode == 'P':
img = img.convert('RGBA')
background.paste(img, mask=img.split()[-1])
img = background
img.save("photo.jpg", "JPEG", quality=95)Tek bir görseli dönüştürmek için bile oldukça fazla “boilerplate” gerekir. Üstelik ek kütüphaneler olmadan HEIC, AVIF veya WebP’yi hâlâ işleyemez.
Hata #5: macOS Preview "Could Not Be Exported" Hataları
Hata mesajları:
"The document 'image.webp' could not be exported as 'image.png'.""The file isn't compatible with QuickLook.""The document could not be opened. The file format is not supported."Neden olur: macOS Preview.app, hatırı sayılır sayıda formatı destekler; ancak eski macOS sürümleri (Ventura öncesi) WebP veya AVIF’i yerel olarak desteklemez. Daha yeni sürümlerde bile bazı format kombinasyonları arasında dönüştürme sessizce başarısız olabilir veya bozuk çıktı üretebilir.
Yaygın macOS sips komut hataları:
sips -s format jpeg input.webp --out output.jpg
# Error: Unable to render input.webp as JPEG
# Error 4: no such operationsips -s format png input.svg --out output.png
# Error: Unable to render SVGsips (Scriptable Image Processing System) aracı macOS’e gömülü gelir, ancak yalnızca sınırlı bir format kümesini destekler: JPEG, TIFF, PNG, GIF, BMP ve PICT.
Hata #6: FFmpeg Görüntü Dönüştürme Başarısızlıkları
Yaygın hatalar:
[image2 @ 0x...] Could not open file : output.webp
av_interleaved_write_frame(): Invalid argumentAvi/ASF stream 0 is not an image stream. Use -c:v png/mjpeg/... to encode it.[svg @ 0x...] Cannot determine type of input[heic @ 0x...] Unknown decoder 'heic'
Discarding frame which has a bad interlace typeNeden olur: FFmpeg esas olarak bir video aracıdır ve görüntü dönüştürme yapabilse de belirli codec desteğinin derleme sırasında eklenmiş olmasını gerektirir. Sistemde kurulu birçok FFmpeg sürümünde HEIC/AVIF/WebP desteği yoktur.
Hata #7: GIMP Toplu İşleme Hataları
Script-Fu konsolundaki hata mesajları:
Error: ( : 1) eval: unbound variable: file-webp-savebatch command experienced an execution error:
Error: Procedure 'file-heif-load' not found(gimp:12345): LibGfig-WARNING **: Bad path: /home/user/.gimp-2.10/gfigNeden olur: GIMP, yeni formatlar için eklentilere ihtiyaç duyar. WebP eklentisi yüklü olmayabilir; HEIF desteği libheif gerektirir; AVIF desteği ise GIMP 2.10.22+ gerektirir. Script-Fu veya Python-Fu ile toplu işleme de ek bir karmaşıklık katmanı ekler.
Hata #8: "EXIF Data Lost" — Dönüştürme Sırasında Metadata’nın Yok Olması
Bu bir hata mesajı değildir — birçok kişinin çok geç olana kadar fark etmediği sessiz bir veri kaybıdır.
Kaybolanlar:
- Kamera ayarları (diyafram, enstantane, ISO)
- GPS koordinatları (fotoğrafın nerede çekildiği)
- Fotoğrafın çekildiği tarih ve saat
- Telif hakkı bilgileri
- Renk profili (sRGB, Adobe RGB, ProPhoto RGB)
- Yönlendirme (Orientation) (döndürme bilgisi — fotoğrafların yana dönük görünmesine yol açar)
EXIF’i sıkça sıfırlayan araçlar:
- Windows Paint (her şeyi siler)
- Birçok online dönüştürücü (“gizlilik” gerekçesiyle, size söylemeden)
- ImageMagick (varsayılan olarak siler; bunu açıkça kontrol etmek için
-stripflag’ini kullanmanız gerekir) - Python Pillow (
exif=img.info.get('exif', b'')ile EXIF’i açıkça ele almayı gerektirir)
Orientation sorunu özellikle can sıkıcıdır:
Warning: JPEG file has EXIF orientation tag but image data is not rotated.
Auto-rotating image based on EXIF orientation.Bazı araçlar görüntüyü döndürür ama EXIF etiketini güncellemez; bu da bazı görüntüleyicilerde çift döndürmeye, bazılarında ise doğru görünüme yol açar.
Hata #9: Renk Uzayı ve ICC Profil Sorunları
Hata mesajları:
lcms: not a valid ICC profilecolor profile 'sRGB IEC61966-2.1' is not compatible with 'CMYK'libpng warning: iCCP: known incorrect sRGB profileJCS_CMYK JPEG image passed to JFIF converterNeden olur: Profesyonel görseller sıklıkla CMYK renk uzaylarını (baskı için) veya geniş gamut profilleri (Adobe RGB, ProPhoto RGB) kullanır. Bunları uygun renk yönetimi olmadan web formatlarına (sRGB kullanan) dönüştürmek, soluk veya aşırı doygun renklere neden olur.
Ne görürsünüz: Ekranınızda mükemmel görünen bir görüntü dönüştürmeden sonra neon-yeşile veya çamur-kahverengiye döner. Ya da profesyonel bir fotoğraf canlı renklerini tamamen kaybeder.
Teknik sebep: CMYK 4 renk kanalına sahiptir (Cyan, Magenta, Yellow, Key/Black) ve RGB 3 kanal kullanır (Red, Green, Blue). Naif bir dönüşüm doğru renk dönüşümünü uygulamaz ve sonuçta aşırı hatalı renkler oluşur.
Hata #10: "File Too Large" veya "Out of Memory" Çökmeleri
Hata mesajları:
java.lang.OutOfMemoryError: Java heap spaceTraceback: MemoryErrorFatal error: Allowed memory size of 134217728 bytes exhaustedconvert: cache resources exhausted `input.tiff' @ error/cache.c/OpenPixelCache/3945.convert: width or height exceeds limit `input.tiff' @ error/cache.c/OpenPixelCache/3912.Neden olur: 300 DPI’da 100 MB’lık bir TIFF dosyası 8000×6000 piksel olabilir. Bellekte sıkıştırmasız hali:
- 8000 × 6000 × 4 bayt (RGBA) = tek bir görüntü için 192 MB RAM
- İşleme (yeniden boyutlandırma, format dönüştürme) bunun 2-3×’ünü gerektirir
- Bu tür 10 görüntüyü toplu dönüştürmek 4-6 GB RAM tüketebilir
Çoğu masaüstü uygulaması ve script görüntüleri akış (stream) şeklinde işlemez — her şeyi bir kerede belleğe yükler.
ImageMagick’in varsayılan policy limitleri genellikle fazla kısıtlayıcıdır:
# /etc/ImageMagick-6/policy.xml
<policy domain="resource" name="memory" value="256MiB"/>
<policy domain="resource" name="disk" value="1GiB"/>
<policy domain="resource" name="width" value="16KP"/>
<policy domain="resource" name="height" value="16KP"/>Bu limitleri artırmak için policy.xml düzenlemeniz gerekebilir; ancak bu, admin erişimi ve XML yapılandırmasını anlama gerektirir.
Hata #11: SVG’yi Raster’a Dönüştürme — "Text Rendering" Kâbusları
Yaygın sorunlar:
Pango-WARNING **: failed to choose a font, expect ugly outputrsvg-convert: error: Error reading SVG: "Unexpected end of XML input"cairo-WARNING: cairo_surface_destroy: Cannot modify an already-finished surfaceNeden olur: SVG dosyaları sıklıkla sisteminizde kurulu olmayan fontlara referans verir. PNG veya JPG’ye dönüştürürken render motoru varsayılan bir font ile değiştirir; bu da metnin görünümünü tamamen değiştirebilir. SVG’lerdeki gradyanlar, filtreler ve gömülü görseller de ek hata noktaları oluşturur.
Font sorunu örneği:
SVG’niz font-family: "Helvetica Neue" kullanıyor; ama Linux sunucunuzda yalnızca Liberation Sans var. Çıktı ince ama belirgin biçimde yanlış görünür — farklı harf aralıkları, farklı kalınlıklar, kaymış hizalamalar.
Yerel Araçlar Yapamazken Online Dönüştürme Neden Sorunsuz Çalışır?
Tüm bu hatalardan sonra aklınıza şu gelebilir: Online araçlar bu dönüşümleri neden bu kadar sorunsuz yapıyor?
1. Önceden yapılandırılmış ortam: GuruPDF gibi online araçlar, tüm codec’lerin, kütüphanelerin ve delegate’lerin kurulu ve doğru yapılandırılmış olduğu sunucularda çalışır. Eksik libheif yok, yanlış ImageMagick policy yok, Ghostscript eksikliği yok.
2. Otomatik format algılama: Sunucu gerçek dosya formatını uzantıdan değil, ikili başlıktan (magic bytes) tanımlar. .jpg kılığına girmiş bir PNG mi? Sorun değil.
3. Doğru renk yönetimi: Sunucu tarafı araçlar ICC profillerini ve renk uzayı dönüşümlerini doğru şekilde ele alır; görsellerin görsel görünümünü korur.
4. Bellek yönetimi: Bulut sunucuların kaynakları geniştir ve görüntüleri verimli işler; büyük TIFF dosyalarını ve yüksek çözünürlüklü taramaları bellek taşması yaşamadan yönetir.
5. Her zaman güncel: AVIF ve HEIC gibi yeni formatların desteği sunucu tarafında eklenir. Bilgisayarınızda hiçbir şeyi güncellemeniz gerekmez.
6. Kurulum derdi yok: Python ortamları yok, Homebrew yok, DLL cehennemi yok, policy.xml düzenleme yok, kaynaktan derleme yok.
GuruPDF Görüntü Dönüştürme Araçları
GuruPDF, kapsamlı bir görüntü formatı dönüştürme yelpazesini ücretsiz ve tarayıcı tabanlı olarak destekler:
Fotoğraflar ve görsellerden:
- JPG to PNG, JPG to WebP, JPG to SVG, JPG to PDF, JPG to GIF
- PNG to JPG, PNG to WebP, PNG to SVG, PNG to PDF, PNG to GIF
- HEIC to JPG, HEIC to PNG, HEIC to PDF
- AVIF to JPG, AVIF to PNG, AVIF to PDF
- WebP to JPG, WebP to PNG, WebP to GIF, WebP to PDF
- TIFF to JPG, TIFF to PNG, TIFF to PDF
- BMP to JPG, BMP to PNG, BMP to PDF
- GIF to PNG, GIF to WebP, GIF to PDF
Vektör ve özel formatlar:
Optimizasyon araçları:
- Resize Image (her format)
- Optimize JPG, Optimize PNG, Optimize GIF
- Grayscale PDF
Sonuç: Bilgisayarınızla Uğraşmayı Bırakın
Windows’ta libheif kurmaya 30 dakika harcadıysanız, ya da CMYK TIFF’inizin JPG’ye çevirdikten sonra neden yeşil göründüğünü merak ettiyseniz, ya da “no decode delegate” hatası karşısında afalladıysanız — yalnız değilsiniz. Görüntü dönüştürme basit olmalı, ama yerel araçlar işi gereksiz yere karmaşıklaştırıyor.
Bir dahaki sefere bir görseli dönüştürmeniz gerektiğinde, önce GuruPDF’ye yüklemeyi deneyin. Her formatı işler, kaliteyi korur ve herhangi bir cihazda, herhangi bir tarayıcıda çalışır. Kurulum yok, hata kodu yok, hayal kırıklığı yok.
Zamanınızı ImageMagick delegate’lerini debug etmeye değil, asıl işinize ayırın.