2

У меня есть несколько файлов AVI, которые я хочу преобразовать в анимированные GIF-файлы с прозрачным фоном для размещения в форме .net Windows. Я могу конвертировать из AVI в анимированные GIF, но по какой-то причине фон анимированного GIF является розовым, а не прозрачным. Есть ли какой-нибудь простой способ избавиться от розовых цветов из получившегося анимированного GIF-файла? Я пробовал ffmpeg, но он также давал розовый цвет. Я попытался ffmpeg -i FINDFILE.avi FINDFILE.gif. Это произвело анимированный GIF, но цвет фона - розовый. Спасибо, что прочитали это.

1 ответ1

0

Попробуйте отредактировать палитру с помощью IrfanView или любой сложной программы для редактирования изображений. Где-то должен быть флажок для "прозрачного фона".

Если вы не можете найти какой-либо инструмент, который работает, возможно, вам придется копать глубже и редактировать двоичный файл. http://www.u229.no/stuff/gifformat/ объясняет формат данных: Интересная часть - это Расширения управления графикой, которые содержат индекс прозрачного цвета и флаг прозрачного цвета в упакованном поле.

Осторожно: каждый кадр может иметь свой собственный GCE. Но каждый блок начинается с сигнатуры из трех байтов \x21\xf9\x04 , поэтому их легко отследить.

Следующий байт после подписи является упакованным полем; бит 0 - флаг прозрачного цвета. Поэтому ищите \x00\x21\xf9\x04 , если значение следующего байта четное: добавьте единицу (установите бит 0 в этом байте).

Сохраните файл, и фон должен быть прозрачным на всех кадрах.

Или ... только что нашел ... взгляните на эту тему: Как сделать прозрачный фон для анимации GIF?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .