Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.07.2011, 17:04   #1
assch
Пользователь
 
Регистрация: 13.09.2010
Сообщений: 65
По умолчанию Анимация Gif

Если кому интересно в прикреплённом файле Анимация Gif.rar находятся исходники.
Показ анимированных Gif файлов при помощи функций GDI+ с буферизацией данных и без.
Нужно только в окно приложения перетащить мышкой Gif файл.
С буферизацией это когда заточено для того чтобы не загружать лишний раз процессор
(гонять по сто раз некоторые функции GDI+)
а загрузить кадры Gif файла в память приложения и при анимации Гифа пользоватся данными оттуда.
(хотя на современных быстрых компьютерах не исключено что это уже не актуально)
Для кого это не важно и предназначен второй код без буферизации.
В папке "IDA-Gif" лежит файл "IDA-Gif.asm" сделанный при помощи программы IDA.
Предназначенный для тех кто просто захочет посмотреть как выглядят функции этого приложения
на относительно чистом асемблере.
Професионалов прошу сильно не пинать (если что то не так)
Кто захочет оптимизировать код буду только рад.

Последний раз редактировалось assch; 05.07.2011 в 17:20.
assch вне форума Ответить с цитированием
Старый 05.07.2011, 17:26   #2
assch
Пользователь
 
Регистрация: 13.09.2010
Сообщений: 65
По умолчанию

Перезагрузил файл
Вложения
Тип файла: rar Анимация Gif.rar (20.7 Кб, 23 просмотров)
assch вне форума Ответить с цитированием
Старый 10.07.2011, 13:42   #3
assch
Пользователь
 
Регистрация: 13.09.2010
Сообщений: 65
По умолчанию

Нашёл одну неприятную особенность у себя в коде.
При тестировании я использовал 3 вроде бы обычных "Гифа" и сними всё было визуально хорошо.
А потом наткнулся на один "Гиф" (смайлик) и увидел что при отрисовке следующего кадра предыдущий кадр остаётся виден.
Потому что смайлики как правило имеют бесцветный фон и через эти бесцветные пиксилы к сожелению остаются видны
предыдущие кадры. Я попробывал изменить алгоритм. Я и стирал предыдущий кадр перед отрисовкой следующего кадра,
и прятал и делал не видимым, но нечего так и не добился ,потому что анимация шла с мерцанием. Так что в предыдущим коде
мне так и не удалось исправить эту проблему. Буду рад если кто поможет или подскажет.
Короче пришлось по шаманить. Я обратил внимание что у окна класса "Static" например с файлами формата "ico" таких проблем нет.
Мне пришлось внести в код изменения точно подобрать слова не смогу но примерно это так (из "Гифа" идёт перегонка в "Иконку")
Не исключено что это извращение, но проблема исчезла (контрол "Static" сам проделывал это чудо действие).
Может я не правильно (и скорее всего это именно так) использовал "Static" в предыдущим коде но увы у меня не получается.
Если кому надо или просто интересно прикрепляю второй код (там в папке для теста лежит смайлик "Smail.gif")Ради интереса прокрутите
этот смайлик в предыдущим коде и вы увидите разницу.
Вложения
Тип файла: rar Анимация2 Gif.rar (23.9 Кб, 9 просмотров)
assch вне форума Ответить с цитированием
Старый 10.07.2011, 21:44   #4
assch
Пользователь
 
Регистрация: 13.09.2010
Сообщений: 65
По умолчанию

Подправил код
Вложения
Тип файла: rar Анимация2 Gif.rar (23.9 Кб, 13 просмотров)
assch вне форума Ответить с цитированием
Старый 17.07.2011, 10:27   #5
assch
Пользователь
 
Регистрация: 13.09.2010
Сообщений: 65
По умолчанию

Исправил одну ошибочку в коде "Gif с буфером"
Поэтому кто раньше скачивал файл "Анимация2 Gif.rar" желательно перекачать его
Вложения
Тип файла: rar Анимация2 Gif.rar (23.9 Кб, 22 просмотров)
assch вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Анимация GIF Яр|/||< (^_^) Компоненты Delphi 19 18.04.2017 04:03
Gif анимация в TImage. werrey Общие вопросы Delphi 11 25.05.2011 23:13
GIF анимация Mr_skiner Общие вопросы Delphi 1 29.04.2011 01:45
GIF анимация Orodret Общие вопросы C/C++ 2 24.04.2009 20:07