PDFMove
GIF Karesini PNG Olarak Dışarı Alma: Adım Adım
Nasıl Yapılır

GIF Karesini PNG Olarak Dışarı Alma: Adım Adım

4 dk okuma

GIF'ten PNG çıkarmanın gerçek sebepleri

GIF'ten PNG'ye dönüşüm ilk bakışta tuhaf görünebilir — ikisi de kayıpsız, ikisi de şeffaflık destekliyor, ikisi de eski formatlar. Ama pratikte bu dönüşümün birkaç net kullanım alanı var.

Birincisi, hareketli bir GIF'ten tek bir kareyi sabit görsel olarak kullanmak istemek: bir kapak görseli, bir önizleme, bir dokümantasyon ekran görüntüsü. İkincisi, hareketsiz bir GIF'i modern bir iş akışına sokmak — bazı düzenleyiciler ve sistemler GIF'i palet formatı olduğu için sorunlu işler, PNG ise doğrudan RGB olarak açılır. Üçüncüsü, GIF'in ikili şeffaflığından kurtulup yumuşak şeffaflık destekleyen bir kaba geçmek istemek.

Bu üçüncü sebep dikkat gerektiriyor ve yazının ilerleyen kısmında neden tam olarak beklediğiniz gibi çalışmadığını anlatacağız.

Dönüşümde teknik olarak ne oluyor

GIF palet tabanlı bir formattır. Dosyada bir renk tablosu bulunur ve bu tabloda en fazla 256 renk yer alabilir. Her piksel, gerçek renk değeri yerine bu tablodaki bir girdinin numarasını taşır.

PNG ise doğrudan RGB değerleri saklar. Dönüşüm sırasında GIF'in palet numaraları çözülerek gerçek renk değerlerine dönüştürülür ve PNG olarak kayıpsız biçimde paketlenir.

Buradaki iyi haber şudur: PNG 256 rengin tamamını sorunsuz saklayabilir. Yani hareketsiz bir GIF'i PNG'ye çevirmek tamamen kayıpsızdır. Çıktı piksel piksel orijinalin aynısıdır.

Kötü haber ise şu: o GIF ilk üretilirken kaynak görsel muhtemelen 256 renge indirgendi. O anda atılan renkler kalıcı olarak gitti. PNG'ye çevirmek onları geri getirmez. PNG mevcut 256 rengi kusursuz korur, ama kaybolmuş binlerce rengi geri üretemez.

Adım adım dönüşüm

1. GIF'in hareketli mi hareketsiz mi olduğunu belirleyin. Bu, sürecin geri kalanını doğrudan belirler. Dosyayı bir tarayıcıda veya görüntüleyicide açıp bakın. Hareketsizse işlem basittir; hareketliyse kare seçimi yapmanız gerekecek.

2. Hareketliyse doğru kareyi seçin. Çoğu araç varsayılan olarak ilk kareyi alır. Ancak animasyonların ilk karesi genellikle boş bir zemin, bir açılış efekti veya anlamsız bir geçiş anıdır. Animasyonu izleyip hangi anın konuyu en iyi temsil ettiğine karar verin. Bir grafik animasyonunda bu genellikle son kare, bir hareket animasyonunda ise ortalarda bir yerdir.

3. GIF'ten PNG'ye dönüştürme aracını açın ve dosyanızı sürükleyip bırakın. Hareketsiz GIF'lerde işlem birkaç saniyede biter.

4. Çıktıyı %100 yakınlaştırmada kontrol edin. Hareketsiz bir GIF'ten geliyorsanız görmeniz gereken şey birebir aynı görüntüdür. Bir fark görüyorsanız sorun dönüşümde değil, muhtemelen kaynak GIF'in kendisindedir.

5. Şeffaflık varsa kenarları inceleyin. GIF'iniz şeffaf arka planlıysa, PNG çıktısındaki kenarlara yakından bakın. Muhtemelen tırtıklı görünecekler. Bu dönüşümün hatası değil; sebebini bir sonraki bölümde açıklıyoruz.

6. Renk bantlaşmasını değerlendirin. GIF fotoğrafik içerikten üretilmişse, gökyüzü veya gradyan gibi alanlarda bantlaşma veya noktalı desen göreceksiniz. Bunlar 256 renk sınırının izleridir ve PNG'de aynen kalırlar.

Şeffaflık: PNG geriye dönük düzeltme yapmaz

Bu, dönüşümle ilgili en çok yanlış anlaşılan konu.

GIF'in şeffaflığı ikilidir. Bir piksel ya tamamen saydamdır ya da tamamen opaktır; arada hiçbir değer yoktur. Bu yüzden yuvarlak veya eğimli bir kenar, merdiven basamağı gibi tırtıklı görünür. Formatın tasarımı bunu düzeltmeye izin vermez.

PNG'nin alfa kanalı ise her piksel için 256 farklı saydamlık seviyesi saklayabilir. Tam görünürden tam görünmeze kadar yumuşak geçişler mümkündür.

Ama işte kritik nokta: bu yetenek ileriye dönüktür. PNG size yumuşak kenarlar üretme imkanı verir, mevcut tırtıklı kenarları düzeltmez. GIF'te bir piksel tam saydam olarak işaretlenmişse, PNG'de de tam saydam olur. Yarım saydamlık bilgisi hiç var olmadığı için PNG onu icat edemez.

Yumuşak kenar istiyorsanız iki seçeneğiniz var: görseli orijinal kaynağından yeniden üretmek, ya da PNG'ye çevirdikten sonra bir düzenleyicide kenarları elle işlemek. Dönüşümün kendisi bunu yapmaz.

Hareketli GIF'te kare seçimi

Hareketli bir GIF onlarca, bazen yüzlerce kare içerir. PNG tek bir hareketsiz görüntü saklar. Dolayısıyla dönüşüm kaçınılmaz olarak bir seçim işlemidir.

Varsayılan davranış genellikle ilk kareyi almaktır, ama bu çoğu zaman kötü bir seçimdir. Animasyonlar sıklıkla boş bir zeminden veya bir açılış geçişinden başlar; ilk kare bu yüzden anlamsız olabilir.

Daha iyi bir yaklaşım: animasyonu izleyin ve "bu GIF'i tek bir resimle anlatsam hangisini kullanırdım" diye sorun. Bir yükleme animasyonunda bu ortalarda bir kare, bir veri grafiği animasyonunda son kare, bir tepki GIF'inde ise ifadenin en belirgin olduğu andır.

Animasyonu tamamen korumak istiyorsanız PNG yanlış hedeftir. APNG hareketli PNG saklayabilir, WEBP ise hem animasyon hem verimli sıkıştırma sunar ve GIF'in 256 renk sınırından da kurtulur.

Özetle

Hareketsiz bir GIF'i PNG'ye çevirmek tamamen kayıpsızdır — PNG, GIF'in 256 renginin tamamını birebir saklar. Ama bu, GIF üretilirken kaybolmuş renkleri geri getirmez ve GIF'in ikili şeffaflığından kaynaklanan tırtıklı kenarları yumuşatmaz. Hareketli bir GIF'te ise tek bir kare seçmek zorundasınız; varsayılana güvenmeyin, animasyonu izleyip anlamlı kareyi kendiniz belirleyin.

Sıkça Sorulan Sorular

Hareketsiz bir GIF'i PNG'ye çevirince kalite kaybı olur mu?

Dönüşümün kendisinde hiçbir kayıp olmaz. GIF her karede en fazla 256 renk taşır ve PNG bu 256 rengin tamamını birebir saklayabilir, dolayısıyla çıktı piksel piksel orijinalin aynısı olur. Ancak dikkat edilmesi gereken nokta şudur: GIF ilk üretilirken kaynak görsel 256 renge indirgenmişse, o sırada atılan renkler geri gelmez. PNG mevcut durumu kusursuz korur, geçmişteki indirgemeyi telafi etmez.

Hareketli GIF'i PNG'ye çevirirsem animasyon ne olur?

PNG hareketli içerik saklayamaz, dolayısıyla dönüşüm sonucunda tek bir hareketsiz kare elde edersiniz. Hangi karenin seçileceği önemlidir; çoğu araç varsayılan olarak ilk kareyi alır, ancak animasyonun anlamlı görüntüsü genellikle ortalarda bir yerde olur. Animasyonu korumak istiyorsanız PNG yerine APNG veya WEBP gibi hareketli içerik destekleyen bir format kullanmanız gerekir.

GIF'in şeffaf kenarları neden tırtıklı görünüyor?

GIF'in şeffaflığı ikilidir: bir piksel ya tamamen saydam ya da tamamen opaktır, arada bir değer yoktur. Bu yüzden eğimli ve yuvarlak kenarlarda merdiven basamağı görünümü oluşur. PNG ise her piksel için 256 farklı saydamlık seviyesi saklayabilir, ancak bu yetenek geriye dönük çalışmaz. PNG'ye çevirmek mevcut tırtıklı kenarları yumuşatmaz; yumuşak kenar istiyorsanız görseli yeniden üretmeniz veya kenarları elle düzeltmeniz gerekir.

PNG çıktısı GIF'ten büyük mü küçük mü olur?

İçeriğe göre değişir ve her iki yön de mümkündür. Geniş düz renk alanları olan basit grafiklerde PNG genellikle GIF'e yakın veya ondan küçük çıkar, çünkü PNG'nin kayıpsız sıkıştırması bu tür içerikte çok verimlidir. Buna karşılık GIF içindeki dithering yani noktalı renk karışımı deseni PNG'nin sıkıştırmasını zorlar ve dosyayı büyütebilir. Hareketli bir GIF'ten tek kare çıkardığınızda ise doğal olarak çok daha küçük bir dosya elde edersiniz.

Bu konuyu GIF → PNG Dönüştür aracıyla hemen deneyin.

GIF → PNG Dönüştür aracını dene