Создание GIF-анимации с прозрачным фоном на VB6
Показов 9076
Комментарии 5
Как и обещал для этой темы сделал обратную задачу - создание новой анимации из кадров. Максимальный размер картинок 640х640. В принципе для анимаций без прозрачного фона, а также анимаций с ColorKey цветом прозрачности эта задача очень просто решается с помощью библиотеки GDI+, но у нее, как я выяснил при написании этой тестовой программы, есть недостаток - она не позволяет задать свойство восстановления фона анимации, по крайней мере в MSDN про это ни слова. Это проявляется в виде неприятного наложения кадров друг на друга, когда фон непрозрачен - это не заметно. Для предотвращения этого явления, я решил вручную находить нужные байты и править их "руками". В своем примере я также вычисляю оптимальную палитру с помощью октодерева, поэтому качество получаемых GIF-анимаций получается довольно-таки хорошим. Также имеется возможность настройки каждого кадра (длительность, порог прозрачности) и счетчика повторов. Для отключения прозрачности достаточно в поле Threshold выставить 0, чем выше значение в этом поле, тем больше полупрозрачных пикселей станут полностью прозрачными. Пример я хорошо прокомментировал , особенно в местах, где идет преобразование и сохранение. Тестировалось на Win7 x64. На WinXP - не работает сохранение. |
Размещено в Без категории
Всего комментариев 5
Комментарии
-
Запись от Памирыч размещена 25.02.2014 в 19:26 -
В целом блог шикарный. Очень круто. Благодарен. Есть к чему стремиться.
Запись от MrCold размещена 01.03.2014 в 20:00 -
Запись от The trick размещена 01.03.2014 в 20:02 -
Колоссально!!
Запись от Willi2001 размещена 13.10.2015 в 00:08 -
Запись от korol1337228 размещена 23.01.2016 в 18:56