![]() |
|
![]() ![]() ![]() |
|
Kirgston |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: 2 Всего: 2 |
Еххх.... кажется всё сделал... сделал очень хитро =) но тут беда...
Вообщем код такой:
Итак скажем результат должен быть простой. Я сначала гружу в Имаж1 картинку, затем если я наведу мышкой на картинку она должна как бы анимироваться... ну анимация идет только очень медленная (АнимейшенСпиид не помогает) ... после того как я отвожу курсор останавливается... но как навожу второй раз то... картинка и программа просто зависают... Такое впечатление что борланд просто "гробит" картинку... просто если грузить с файла то всё ок, если же с компонента то всё глючит... Есть какие то идеи? ![]() |
|||
|
||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
А необходимо при каждом событии мышки создавать/удалять картинку? Этих событий приходит десятки в секунду, может как-то вынести переменную в форму? |
|||
|
||||
Kirgston |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: 2 Всего: 2 |
А почему десятки в секунду? Это событие вызывается как только курсор "наехал" на картинку =) когда он "ходит" по картинке это событие не вызывается.
Ну... щас попробую в глобальную перенести =) . Пасибки =) Добавлено через 9 минут и 5 секунд Попробовал... ничего... как глючило так и глючит... |
|||
|
||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
Я вообще подход с перназначением картинки по мышке не понимаю.
Один раз настраиваем картинку, а по событию мышки включаем/выключаем анимацию. Если нужно, чтобы без мышки картинка гасла - то можно сбрасывать свойство visible... |
|||
|
||||
Kirgston |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: 2 Всего: 2 |
Ну подход простой =) когда мышка на рисунке он анимируется, как только мышка "уходит" с картинки, то анимация прекращается...
Так и надо как я написал. Просто я не понимаю почему изображение очень тормозит ... очень тормозит... |
|||
|
||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
и все-таки я бы попробовал по-другому:
|
|||
|
||||
Kirgston |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: 2 Всего: 2 |
Да дело не в этом =) код работает безупречно ;) но... как я и говорил скорость анимации никакая.... какую я бы не ставил... скорость как у черепахи... как только гружу из файла то скорость раз в 10 выше, но опять таки рывками...
|
|||
|
||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
Я сравнил:
1. Загрузка из файла в компонент TGifImage. Кол-во кадров 9 2. Загрузка этого же файла в TImage, и присваивание его с помощью метода Assign объекту TGifImage. Кол-во кадров 64. В общем глючит TImage не по детски. |
|||
|
||||
Kirgston |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: 2 Всего: 2 |
На оборот =) если грузить из файла - 64, если с компонента - 9.
Оказывается всё просто... когда в компонент идет вставка рисунка он записывает всё это в НЕХ код. Если записать туда Гиф... то он просто не умеет с ним работать... Вообщем попробуйте записать в TImage гиф рисунок. И потом сохранить его же... посмотрите на размер... |
|||
|
||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
неа. Напрямую из файла правильное количество кадров, а через TIMage - глюк. ИМХО: Инициировать gif из файла, а не через TImage. Это самый правильный на мой взгляд вариант: при статической загрузке рисунка он помещается в исполняемый код, а это приводит к увеличению размера модуля (ведь весь рисунок хранится в dfm, а при сборке проекта запихивается в exe. Либо применять RxLib Либо отрисовывать покадрово вручную (мой первый пример) Но вариант с файлом - самый правильный. В конце концов можно и в ресурс запихать. |
|||
|
||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
Kirgston, короче попробуйте еще такой вариант:
Запуск анимации
У меня все хорошо отображается - значения Gif->AnimationSpeed - чем меньше тем медленнее (подбирайте экспериментально). Убил бы разработчиков студии за такой хелп. |
|||
|
||||
Kirgston |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: 2 Всего: 2 |
Неа... у меня ничего не меняется... вообще ничего... хе хе... ладно буду надеятся что в сл билдере будет лучше с поддержкой рисунков =)
|
|||
|
||||
Kirgston |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: 2 Всего: 2 |
УЖАААААААААААААААААААААААС бреееееееееед как же оно работает с анимацией ..... ребята а что за штуковина такая... что ТИмадж делает как бы окантовку чёрными пискелями? Что это? Зачем? Есть ему замена ? Под Билдер 2009 ?
![]() |
|||
|
||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
Странно, что мой вариант у вас не работает. Может свой gif мне скинете? Я меня отлично все работает. Возможно gif немного разный.
|
|||
|
||||
Kirgston |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: 2 Всего: 2 |
Да пожалуйста =)
У меня нормальное кол-во кадров только когда я считываю из файла... не знаю может быть вариант что это из-за системы... но это уж очень не правильный вариант =) Как я ни пытался... все равно не смог сделать нормальное кол-во кадров если рисунок лежит в TImage ... темболее на некоторых рисунках идет обвод контуров о_О причем автоматический. Посмотрите файл "флаг" . Если через виндовский проигрыватель картинок то всё хорошо, когда через Билдера... очень криво... Присоединённый файл ( Кол-во скачиваний: 6 ) ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |