С Новым годом! Форум программистов, компьютерный форум, киберфорум
The trick
Войти
Регистрация
Восстановить пароль
Карта форума Блоги Сообщество Поиск Заказать работу  
Рейтинг: 5.00. Голосов: 1.

Создание GIF-анимации с прозрачным фоном на VB6

Запись от The trick размещена 25.02.2014 в 03:45. Обновил(-а) The trick 12.10.2015 в 22:06
Показов 9076 Комментарии 5

Как и обещал для этой темы сделал обратную задачу - создание новой анимации из кадров. Максимальный размер картинок 640х640. В принципе для анимаций без прозрачного фона, а также анимаций с ColorKey цветом прозрачности эта задача очень просто решается с помощью библиотеки GDI+, но у нее, как я выяснил при написании этой тестовой программы, есть недостаток - она не позволяет задать свойство восстановления фона анимации, по крайней мере в MSDN про это ни слова. Это проявляется в виде неприятного наложения кадров друг на друга, когда фон непрозрачен - это не заметно. Для предотвращения этого явления, я решил вручную находить нужные байты и править их "руками". В своем примере я также вычисляю оптимальную палитру с помощью октодерева, поэтому качество получаемых GIF-анимаций получается довольно-таки хорошим. Также имеется возможность настройки каждого кадра (длительность, порог прозрачности) и счетчика повторов. Для отключения прозрачности достаточно в поле Threshold выставить 0, чем выше значение в этом поле, тем больше полупрозрачных пикселей станут полностью прозрачными. Пример я хорошо прокомментировал , особенно в местах, где идет преобразование и сохранение.

Тестировалось на Win7 x64. На WinXP - не работает сохранение.
Миниатюры
Нажмите на изображение для увеличения
Название: Anim128threshold.gif
Просмотров: 796
Размер:	512.7 Кб
ID:	2123   Нажмите на изображение для увеличения
Название: Безымянный.png
Просмотров: 691
Размер:	46.1 Кб
ID:	2124  
Вложения
Тип файла: zip GifMakerByTheTrick.zip (1.93 Мб, 657 просмотров)
Размещено в Без категории
Всего комментариев 5
Комментарии
  1. Старый комментарий
    Аватар для Памирыч
    На высоте. И это - VB6!)
    Не зря говорится, неважно на чем, главное - как.

    Еще бы Микла сюда переманить, команда была бы ядерная
    Запись от Памирыч размещена 25.02.2014 в 19:26 Памирыч вне форума
  2. Старый комментарий
    В целом блог шикарный. Очень круто. Благодарен. Есть к чему стремиться.
    Запись от MrCold размещена 01.03.2014 в 20:00 MrCold вне форума
  3. Старый комментарий
    Цитата:
    Сообщение от MrCold Просмотреть комментарий
    В целом блог шикарный. Очень круто. Благодарен. Есть к чему стремиться.
    Спасибо.
    Запись от The trick размещена 01.03.2014 в 20:02 The trick вне форума
  4. Старый комментарий
    Колоссально!!
    Запись от Willi2001 размещена 13.10.2015 в 00:08 Willi2001 вне форума
  5. Старый комментарий
    Аватар для korol1337228
    Конечно можно быть занудой и сказать мол по физике неудачно получилась верхняя должна поэнерции упасть, но это же шедевр,боже.Просто сижу и немогу понять как такой талант ещё не нашёл свою славу....
    Запись от korol1337228 размещена 23.01.2016 в 18:56 korol1337228 вне форума
 
Новые блоги и статьи
Как написать микросервис на Go/Golang
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
Как написать микросервис с нуля на C#
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
Как создать игру "Танчики" на Unity3d и C#
InfoMaster 14.01.2025
Разработка игр – это увлекательный процесс, сочетающий в себе творчество и технические навыки. В этой статье мы рассмотрим создание классической игры "Танчики" с использованием Unity3D и языка. . .
Организую платный онлайн микро-курс по доработке Android-клиента Telegram
_Ivana 14.01.2025
Официальная версия и распространенные форки не полностью устраивают? Сделай свою кастомную версию клиента! 4 занятия по 2 часа (2 недели пн, ср 19:00-21:00 по Москве). Первое вводное занятие. . .
Как создать приложение для фитнеса для iOS/iPhone на Kotlin
InfoMaster 14.01.2025
Создание собственного фитнес-приложения — это не только захватывающий, но и полезный процесс, ведь оно может стать вашим верным помощником на пути к здоровому и активному образу жизни. В современных. . .
Как создать приложение магазина для iOS/iPhone на Swift
InfoMaster 14.01.2025
Введение в разработку iOS-приложений Разработка приложений для iPhone и других устройств на базе iOS открывает огромные возможности для создания инновационных мобильных решений. В данной статье мы. . .
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution https:/ / www. cyberforum. ru/ blogs/ 223907/ blog8781. html прилагаю файл архива проекта в Gowin Eda. Восьмибитный счётчик из сумматора+ генератор сигнала. . .
UserScript для подсветки кнопок языков программировани­­­­я в зависимости от текущего раздела
volvo 13.01.2025
В результате работы этого скрипта подсвечиваются нужные кнопки не только в форме быстрого ответа, но и при редактировании сообщения: / / ==UserScript== / / @name CF_DefaultLangSelect / / . . .
Введение в модели и алгоритмы машинного обучения
InfoMaster 12.01.2025
Машинное обучение представляет собой одну из наиболее динамично развивающихся областей искусственного интеллекта, которая фокусируется на разработке алгоритмов и методов, позволяющих компьютерам. . .
Как на Python создать нейросеть для решения задач
InfoMaster 12.01.2025
В контексте стремительного развития современных технологий особое внимание уделяется таким инструментам, как нейросети. Эти структуры, вдохновленные биологическими нейронными сетями, используются для. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru