Зробити фони анімованих файлів GIF прозорими


13

Я створював анімовані файли GIF за допомогою GIMP з декількох кадрів у форматі PNG, які я створив за допомогою Jmol, і тепер я хотів би знати, як зробити фон отриманих файлів GIF прозорим. Будь-які фрагменти програмного забезпечення або веб-сайти, які ви пропонуєте, повинні бути доступні безкоштовно.


Ви доклали певних зусиль? Дивіться тут і там .
Paolo Gibellini

Я це робив раніше, але це не підходить, бачачи, як цей GIF анімований, а не статичний, оскільки ці методи корисні лише для статичних зображень. Для того, щоб зробити те, що ви пропонуєте, показавши мені ці два запитання, мені доведеться зробити кожен з PNG-файлів, які я конвертую в GIF, прозорими індивідуально і бачу, як я використовую 60 кадрів у GIF, які б зайняли колись, особливо бачачи, як на мій досвід, на кожне зображення потрібно не менше 5 хвилин, оскільки кольорова альфа є менш ніж ідеальною і вимагає певного викривлення для роботи.
BH2017

1
Я не знаю Jmol, але тут тема, пов’язана з фоном альфа (див. Також тут ). Ви експортували як PNGT кадри?
Паоло Джібелліні

GIMP вже може створювати GIF з прозорістю.
Біллі Керр

Відповіді:


16

Ви можете зробити це за допомогою GIFsicle , скориставшись наступними параметрами:

gifsicle -U --disposal=previous --transparent="#ffffff" -O2 anim.gif > anim_trans.gif

де anim.gifі anim_trans.gifє назви вихідних та цільових файлів, і #ffffffце шістнадцятковий код кольору, який ви хочете зробити прозорим (тут чисто білий)

(Важливі параметри тут -U/ --unoptimizeі --disposal=previous, які разом конвертувати анімацію в «режим Flipbook», де кожен кадр повністю стертий перед нанесенням наступного. Це дозволяє додаткова прозорість повинна бути додана до рам , не даючи більш ранні кадри показують через прозорі частини. Цей -O2параметр не є строго необхідним, але, швидше за все, зменшити розмір файлу отриманої анімації шляхом оптимізації кадрів, щоб уникнути зайвого повторного малювання статичних частин анімації.)

Для демонстрації ось анімація ферменту людської гліоксалази I (GLO1) від Wikimedia Commons (зліва) та та сама анімація з прозорістю, що додається методом, показаним вище (праворуч):

Оригінальна анімація з білим тлом Змінена анімація з прозорим фоном
Оригінальна анімація користувача Wikimedia Commons WillowW , що використовується під ліцензією CC-By 3.0 .

Однією деталлю, яку варто відзначити, є те, що якщо команда GIFsicle, здається, не має ніякого ефекту, слід перевірити, чи колір фону справді правильний. Наприклад, для анімації, показаної вище, фактичний колір фону виявився #fdfffc(тобто дуже злегка жовто-зеленувато-білим), а не #ffffff(чисто білий). Насправді ви не можете визначити різницю оком (або, принаймні, я не можу цього зробити на цьому екрані), але достатньо, щоб GIFsicle вважав два кольори різними.

Також зауважте, що файли GIF підтримують лише 1-бітну прозорість, а це означає, що краї прозорих областей не будуть антизаданими. Це нормально, поки фон, на якому ви показуєте анімацію, не надто далеко від початкового кольору фону, але якщо він є, ви можете виявити, що навколо країв анімації буде некрасивий колір . На жаль, з цим не можна багато зробити, окрім вибору більш підходящого фону або для повторного відтворення анімації.


Чи є у вас для Windows 7 зручна програмна альтернатива gifsicle, яку я можу використати замість цього? Я спробував встановити Win32 та 64 двійкові (я використовую 64-бітну Windows 7, за посиланням на офіційному веб-сайті gifsicle), і не працював. Він просто спливав командний рядок, на секунду, а потім цей рядок закрився. З тих пір я відкрив командний рядок (наскільки я розумію, gifsicle - редактор на основі командного рядка) і скопіював ваші команди в (з власне іменами файлів, ofc), і він видав нульовий файл з попередженням, що gifsicle не розпізнається в моїй системі.
BH2017

Хм ... ви спробували скористатись командним рядком та вказати повний шлях до gifsicle.exe? Або cd- в папку, в яку ви встановили gifsicle, і запускаєте команду звідти? Або додати цю папку у свою%PATH% ?
Ільмарі Каронен

cd-відходячи до каталогу, запуск цієї команди працював ідеально без сучка, отже, я прийму вашу відповідь.
BH2017

1

Спробуйте http://www.gifmagic.com

Це дуже просто.

Виберіть: 1) редагувати

2) прозорість

3) додати і

4) виберіть область, яку ви хочете застосувати.


1

Аналогічно GIFsicle та GIFmagic, EzGIF - це набір інструментів GIF в Інтернеті, який (серед іншого) дозволить вам зробити це:

  1. Виберіть "Ефекти"
  2. завантажити GIF
  3. потім використовуйте поле "Замінити колір прозорістю"
  4. і застосувати

(Ви можете також оптимізувати результат, якщо хочете)


0

Якщо у вас є imagemagick, ви можете запустити команду convert input.gif -transparent white output.gifв терміналі.


Чи можете ви пояснити, що робить ця команда? Ми шукаємо довші відповіді з поясненням, а не однолінійними. Крім того, схоже, що він перетворює білий колір у прозорий, тож він також вибере все, що є білим на зображенні?
Лучано

0

Це можна зробити безпосередньо з Photoshop.

Скористайтеся опцією "Зберегти в Інтернеті" і збережіть у форматі GIF прозорість. Знайдіть колір, який ви бажаєте бути прозорим, із таблиці кольорів. Клацніть по ньому, а потім натисніть кнопку, яку я обвів червоним кольором.

Прозорість кольорової таблиці

Це зробить той колір, який ви вибрали, прозорим. Зберегти.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.