Anda dapat melakukan ini dengan GIFsicle , menggunakan opsi berikut:
gifsicle -U --disposal=previous --transparent="#ffffff" -O2 anim.gif > anim_trans.gif
di mana anim.gif
dan anim_trans.gif
merupakan nama file sumber dan tujuan, dan #ffffff
merupakan kode hex dari warna yang ingin Anda buat transparan (di sini, putih murni).
(Opsi penting di sini adalah -U
/ --unoptimize
dan --disposal=previous
, yang bersama-sama mengubah animasi menjadi "mode flipbook", di mana setiap frame dihapus sepenuhnya sebelum menggambar yang berikutnya. Ini memungkinkan transparansi ekstra untuk ditambahkan ke frame tanpa membiarkan frame sebelumnya ditampilkan melalui bagian transparan. -O2
Opsi ini tidak sepenuhnya diperlukan, tetapi kemungkinan akan mengecilkan ukuran file dari animasi yang dihasilkan dengan mengoptimalkan bingkai untuk menghindari menggambar ulang bagian statis animasi yang tidak perlu.)
Untuk demostrasi, berikut ini adalah animasi dari enzim glyoxalase I (GLO1) manusia dari Wikimedia Commons (kiri), dan animasi yang sama dengan transparansi ditambahkan menggunakan metode yang ditunjukkan di atas (kanan):
Animasi asli oleh pengguna Wikimedia Commons WillowW , digunakan di bawah lisensi CC-By 3.0 .
Satu detail yang perlu diperhatikan adalah bahwa, jika perintah GIFsicle tampaknya tidak berpengaruh, Anda harus memeriksa bahwa warna latar belakang benar-benar benar. Misalnya, untuk animasi yang ditunjukkan di atas, warna latar belakang yang sebenarnya ternyata #fdfffc
(yaitu sangat sedikit kuning-kehijauan) daripada #ffffff
(putih murni). Anda sebenarnya tidak bisa membedakannya dengan mata (atau, setidaknya, saya tidak bisa melakukan itu di layar ini), tetapi cukup membuat GIFsicle mempertimbangkan dua warna yang berbeda.
Juga perhatikan bahwa file GIF hanya mendukung transparansi 1-bit, yang berarti bahwa tepi wilayah transparan tidak akan anti-alias. Ini tidak masalah selama latar belakang animasi tidak terlalu jauh dari warna latar belakang asli, tetapi jika ya, Anda mungkin akan menemukan warna jelek di sekitar tepi animasi. Sayangnya, tidak banyak yang dapat Anda lakukan tentang hal itu, kecuali untuk memilih latar belakang yang lebih cocok atau membuat kembali animasi.