Dapatkah saya memiliki GIF animasi dengan lebih dari 256 warna per bingkai?

31

Dapatkah saya memiliki GIF animasi dengan lebih dari 256 warna per bingkai? Saya ingin membuat animasi GIF tetapi palet warna terbatas membuatnya terlihat seperti sampah.

Mark Henderson
sumber

Jawaban:

42

Ya, Anda bisa, dengan batasan tertentu.

pelangi dari kotak

GIF mendukung palet per-frame (lokal) dan memiliki metode pembuangan frame "apa adanya" yang memungkinkan penggabungan beberapa frame.

Saya telah menulis [sebuah encoder GIF " gifski " menggunakan teknik ini]. Ini menghasilkan animasi dengan sekitar 1000-3000 warna per bingkai.

Tangkapannya adalah Anda hanya bisa memanfaatkan ini ketika tidak semua piksel gambar berubah di antara bingkai. Jadi, jika Anda memiliki sesuatu yang bergerak di depan latar belakang yang tenang, Anda dapat memiliki lebih dari 256 warna animasi - objek yang bergerak akan dibatasi hingga 256 warna, tetapi latar belakang dapat terdiri dari beberapa bingkai dengan palet yang berbeda. Dengan dithering yang cerdas, bahkan dimungkinkan untuk menggunakan kembali beberapa piksel objek yang bergerak .

Kornel
sumber
Apakah maksud Anda bahwa hanya gambar animasi yang dapat memiliki lebih dari 256 warna? Mungkinkah untuk meretasnya sehingga kita dapat menampilkan gambar statis dengan lebih dari 256 warna?
Pacerier
4
@Pacerier Ini hanya berfungsi untuk animasi. Secara teori itu mungkin untuk GIF statis, tetapi karena browser lama / bug menginterpretasikan 0penundaan frame sebagai ~ 1/16 detik, jadi paling baik Anda dapat memiliki animasi yang membangun gambar statis. Untuk statis, Anda lebih baik dengan PNG / JPG.
Kornel
3
Ya gif bahkan tampaknya tidak memiliki keuntungan tunggal dalam domain gambar statis.
Pacerier
2
@ GeorgeEdison Anda bisa, tetapi GIF memiliki kompresi yang sangat lemah, jadi itu akan lebih buruk dalam segala hal daripada hanya menggunakan PNG atau apa pun.
Kornel
1
@ g491 gifsicle dapat membuat file seperti itu (menggunakan banyak gif dengan transparansi dan mode buang = tetap)
Kornel
5

Tidak, kamu tidak bisa; Format GIF hanya memungkinkan 256 warna.


sumber
3
Per bingkai Sebelum Anda menyebutkan masalah kepraktisan, saya cukup yakin Bing menggunakan GIF warna asli ini sekarang.
John Chadwick
1
Saya melihat 32697 warna pada gif ini: phil.ipal.org/tc.html dan juga goo.gl/DBdg1o
Pacerier
3

Setidaknya, secara teori, Anda dapat menumpuk GIF dan membuat warna ekstra transparan.

  1. Pertama, Anda menyalin setiap frame sehingga Anda memiliki masing-masing dua.
  2. Kemudian, pilih area berdasarkan warna dengan sensitivitas yang cukup rendah sehingga akan memilih setengah gambar.
  3. Kemudian, hapus saja semua yang ada di dalam seleksi.
  4. Sekarang, balikkan seleksi.
  5. Lalu, pergi ke bingkai berikutnya dan hapus semuanya lagi.
  6. Simpan hasil akhirnya ( raw-ani.gif).
  7. Hapus setengah frame.
  8. Simpan dengan nama file baru ( ani1.gif).
  9. Muat versi yang disimpan sebelumnya.
  10. Hapus setengah dari frame.
  11. Simpan lagi ( ani2.gif).

Retas beberapa HTML dengan posisi absolut dan letakkan ani2.gifdi atas ani1.gif.

Ulangi proses ini untuk membuat empat, delapan, 16 lapisan atau apa yang Anda inginkan.

Anda juga bisa mempercepat raw-ani.gifhasilnya dan mendapatkan apa yang dijelaskan Kornel.

gaby de wilde
sumber
2

Tidak ada file gif tidak terbatas pada 256 warna.

Nicolas Antoniazzi
sumber
4
Meskipun agak benar, peretasan GIF warna asli memiliki beberapa batasan utama: peretasan GIF tidak berfungsi pada pemirsa gambar yang tidak mendukung animasi (atau di peramban tempat pengguna menonaktifkan animasi GIF), peretasan GIF mungkin terjadi sangat lambat pada beberapa browser yang menerapkan penundaan bingkai minimum , dan cenderung menghasilkan file besar yang kompresnya buruk. Rapi, tapi tidak terlalu berguna di dunia nyata. Cukup gunakan PNG jika Anda membutuhkan lebih dari 256 warna. (Alas, dukungan browser MNG / APNG benar-benar jerawatan.)
Ilmari Karonen
Sementara ini secara teoritis dapat menjawab pertanyaan, akan lebih baik untuk memasukkan bagian-bagian penting dari jawaban di sini, dan menyediakan tautan untuk referensi.
Mark Henderson
1

Dimungkinkan untuk memiliki gif warna yang sebenarnya dan ada berbagai artikel online, namun mereka tidak terlalu praktis.

John
sumber