Photoshop kullanarak animasyonlu bir GIF'te çoğaltılmış kareler nasıl optimize edilir?


10

Sinemagraf denen bir teknik deniyorum . Bu teknik, sahnenin yalnızca küçük bir bölümünün canlandırıldığı animasyonlu GIF'ler yapar. İşte kısa bir süre önce yaptığım:

resim açıklamasını buraya girin

Şimdiye kadar, Photoshop sahnenin statik kısımlarını sıkıştırmakla iyi bir iş çıkarıyor. Yalnızca hareketli kısmı maskeleyerek, birkaç megabayt kaydedebilirsiniz.

resim açıklamasını buraya girin

Photoshop'un iyi optimize etmediği şey, çoğaltılmış karelerdir. Sorunsuz bir döngü elde etmek için tüm çerçeveleri çoğaltır ve tersine çeviririm. Yukarıdaki örnekte, haber spikeri sola döner ve orijinal konumuna geri dönmesi gerekir. Bu , GIF'in boyutunu her zaman iki katına çıkarır . Photoshop'a çoğaltılan kareleri statik alanları optimize ettiği gibi optimize etmesini nasıl söyleyebilirim? Zaman Çizelgesi panelinin menüsünde "Animasyonları Optimize Et" seçeneğini zaten kullandım, ancak bu hiçbir şey yapmadı ...


Photoshop'un "yinelenen kareleri" görmek için herhangi bir mekanizmaya sahip olduğuna inanmıyorum. Yalnızca çerçeveler arasında benzer pikselleri görür. Ve o zaman bile, sadece önceki ve sonraki çerçeveye inanıyorum.
Scott

@Dominic CSS / JS üzerinde kontrolüm olmayacak. Bu gifleri diğer sitelere göndereceğim. Scott: PS'nin statik parçaları dinamik parçalardan nasıl ayırdığını biliyor musunuz? Sınırlayıcı bir kutu mu (daire, üçgen vb.)? Kaç dinamik alana izin verilir? Vb ...
JoJo

Yanıtlar:


3

Sorunuzu anlarsam, 5 kare içeren bir animasyonunuz var (diyelim). 1 ve 5, 2 ve 4 kasaları aynıdır. Böylece Photoshop'un gif'i şu şekilde oynatmasını istersiniz: 1,2,3,2,1.

Ne yazık ki bu animasyonlu bir gif ile imkansız. Gifler, verilerin yüklenmesine izin vermek için oluşturulur ve veriler yüklenirken sonraki kareyi sırayla görüntüler. İlk kare global olarak kabul edilir ve verileri sonraki her karede kullanılabilir. Böylece ilk kare tabanı ayarlar, ardından "Animasyonu Optimize Et", aynı pikselleri birincinin ötesindeki karelerde saydam hale getirir. Dolayısıyla, önceki bir kareyi yeniden oynatmanın bir yolu yoktur, bir kare akımla aynı olsa bile bunların içinden geçmeleri gerekir. Wikipedia bunu benden daha ayrıntılı olarak açıklıyor .

Uzun zaman önce, javascript ve jpgs numaralı dizileri ile aradığınıza benzer bir şey yaptım (menüye bir göz atın). Senaryo, fareyle üzerine 1-10, ardından fareyle üzerine 10-1 görüntüler oynatır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.