Плавное изменение картинки в Timage при наведении мышки

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Re: Плавное изменение картинки в Timage при наведении мышки

Сообщение iskander » 02.03.2021 18:55:02

Alex2013 писал(а):А без Var Blend(Image1.Picture.Bitmap, Image2.Picture.Bitmap, Image3.Picture.Bitmap, r); работает ?

Как часы.
Alex2013 писал(а):По моему обращение к ссылке Image1.Picture.Bitmap вообще приводит к созданию копии данных или к режиму "только чтение".

Откуда инфа?
Alex2013 писал(а):Ну это уже придирки ...

Это для красоты. :)
iskander
постоялец
 
Сообщения: 404
Зарегистрирован: 08.01.2012 18:43:34

Re: Плавное изменение картинки в Timage при наведении мышки

Сообщение Alex2013 » 04.03.2021 02:26:40

iskander писал(а):Откуда инфа?

Из личного опыта . (например в моем старом захватчике видео не помню почему в качестве результатов предавался адрес "исходной картинки" и это был именно адрес битмапа из TImage... вообщем при попытках что-то с эти битмапом делать программе резко "становилось дурно" причем довольно странным образом ... читаю данные в переменную(причем совершенно не динамическую ) переписываю в масив, обратно читаю в переменную, уже и сам забыл откуда эти данные были изначально ... но как только пытаюсь их переписать как призрак возникает исключение ! "Но как,Холмс!!! " :mrgreen: )
Alex2013
долгожитель
 
Сообщения: 2089
Зарегистрирован: 03.04.2013 11:59:44

Re: Плавное изменение картинки в Timage при наведении мышки

Сообщение olegy123 » 04.03.2021 11:53:38

Alex2013 писал(а):Хм ! Интересно ! Но есть недостаток прозрачность элементов лазаруса работает не очень надежно + нужно выводить две картинки одну на другой и "молится на систему" надеясь что все будет нормально .

так делается везде, даже в анимации.
Как пример всякие анимационные программки.

Добавлено спустя 4 минуты 23 секунды:
Вообще если нужны серьезные нагрузки то советую использовать IPP Integrated Performance Primitives от Intel
Intel IPP включает в себя следующие функции:

кодирование и декодирование видео;
кодирование и декодирование аудио;
JPEG/JPEG2000
машинное зрение;
криптография;
сжатие данных;
преобразование цвета;
обработка изображения;
трассировка луча/визуализация;
обработка сигналов;
кодирование речи;
распознавание речи;
обработка строк;
векторная/матричная математика;

Библиотека использует расширенные наборы инструкций процессора MMX, SSE, SSE2, SSE3, SSSE3, SSE4 и многоядерные процессоры.

еще быстрее выполнения можно получить на железных ускорителях.
olegy123
долгожитель
 
Сообщения: 1635
Зарегистрирован: 25.02.2016 12:10:20

Re: Плавное изменение картинки в Timage при наведении мышки

Сообщение Снег Север » 04.03.2021 12:17:23

Если нужны серьезные нагрузки, то используют паскалевские оболочки для вызовов API OpenGL или более нового Vulcan. Которые имеют предельно оптимизированные драйвера графики.
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 2735
Зарегистрирован: 27.11.2007 16:14:47

Re: Плавное изменение картинки в Timage при наведении мышки

Сообщение olegy123 » 04.03.2021 12:37:34

Intel IPP можно использовать без GPU

OpenGL тербует оконный Handle в консоле не поработаешь

Добавлено спустя 1 минуту 24 секунды:
подключить к fpc там проще чем создать OpenGL окно
olegy123
долгожитель
 
Сообщения: 1635
Зарегистрирован: 25.02.2016 12:10:20

Re: Плавное изменение картинки в Timage при наведении мышки

Сообщение iskander » 04.03.2021 12:54:41

Чтобы сделать простейшую анимацию предлагаете тащить либу в полгектара? Вы серьёзно?
Впрочем, что все так делают, я, пожалуй, соглашусь, судя по тому, что паршивый браузер с четырьмя открытыми вкладками отжирает треть 16-ти гектарной оперативки.
Последний раз редактировалось iskander 04.03.2021 13:29:21, всего редактировалось 1 раз.
iskander
постоялец
 
Сообщения: 404
Зарегистрирован: 08.01.2012 18:43:34

Re: Плавное изменение картинки в Timage при наведении мышки

Сообщение olegy123 » 04.03.2021 13:06:56

iskander писал(а):Чтобы сделать простейшую анимацию предлагаете либу в полгектара? Вы серьёзно?

ну там под линух под x64 в сумме все функции либлы 170мб, можно их разделить - максимум 30мб
olegy123
долгожитель
 
Сообщения: 1635
Зарегистрирован: 25.02.2016 12:10:20

Re: Плавное изменение картинки в Timage при наведении мышки

Сообщение iskander » 04.03.2021 13:12:16

iskander писал(а):Чтобы сделать простейшую анимацию?


Добавлено спустя 8 минут 14 секунд:
А если позанудствовать, то вопрос топикстартера был:
user6745 писал(а):Как сделать так, чтобы при наведении указателя мышки на TImage исходная картинка плавно за 2 секунды менялась на любую другую PNG которую можно скинуть в папку с программой.
А также когда мышку обираем от TImage, то TImage плавно за 2 секунды возвращается в исходное состояние.

Вы умеете в один TImage засунуть две картинки?
iskander
постоялец
 
Сообщения: 404
Зарегистрирован: 08.01.2012 18:43:34

Re: Плавное изменение картинки в Timage при наведении мышки

Сообщение olegy123 » 04.03.2021 13:50:39

iskander писал(а):Вы умеете в один TImage засунуть две картинки?
есть 2 картинки, нужен инструмент(TBGRABitmap,TBGRALayeredBitmap,TBitmap32(graphics32)) который умеет смешивать пиксели (прибавить/отнять/умножить.. смешать по значению альфа и т.п. как в фотошопе со слоями) в итоге получаем растовое изображение
olegy123
долгожитель
 
Сообщения: 1635
Зарегистрирован: 25.02.2016 12:10:20

Re: Плавное изменение картинки в Timage при наведении мышки

Сообщение iskander » 04.03.2021 13:58:37

BGRABitmap в стандартной установке нет.
Я к тому, что Алексова процедурка не требует никаких дополнительных телодвижений, а если не устроит производительность, она довольно тривиально ускоряется.
iskander
постоялец
 
Сообщения: 404
Зарегистрирован: 08.01.2012 18:43:34

Пред.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 11

Рейтинг@Mail.ru