8 лет назад я написал такую программу и сейчас созрел для улучшения функций. Цели были такие:
-использовать существующие наборы цветов из эмулятора Unreal. Это не проблема, взял готовые и приспособил под другую задачу:
- переписать индусский код отображения экрана. Тоже не проблема, наработки уже есть
-изменить способ показа экрана при увеличении в два раза. Сделал так, как удобно, теперь нет скачка гаджета с изображением.
-изменить сохранение в формате GIF. Я долго промаялся с этим форматом, оставив исправленную библиотеку, скомпилированную в LCC. Но осталась одна засада: формат х2 не поддерживается.
Я долго бился над решением проблемы, переписывал код, использовал разные библиотеки, но способы сохранения картинок меня не устраивали. Я решил использовать GDI+ . Сохранение двух кадров при присутствии атрибута Flash удалось победить, но выползла еще одна засада - нет задержки при анимации.Я использовал код, найденный в интернетах, и просмотрел исходник от начала до конца, но все равно не помогло. Что же делать? Посоветовать пользователю использовать готовую программу - например gifsicle ? Нет, это не решение. Вчера я заново сел за дизассемблер программы, и стал играть с нужными параметрами. Хренушки, вылезает ошибка. Взял отладчик OllyDbg и стал смотреть на указанные параметры. Внес изменения в код программы, но опять не работает. Стал смотреть еще раз, и нашел причину - параметры задержки для кадров задаются ДО создания GIF-ки, а не там, куда я впихнул злосчастные команды. Переписал код - победа!.
Осталось самое трудное - обработка drag'n'drop, решил. Самое досадное это то, что при тестировании работы вылезла глупая ошибка. Поэтому и сейчас рано объявлять о релизе, погоняю новую программу при возможностях. версия 3.
Комментарии
Отправить комментарий