Дельфи;анимация состоит из 2 слоев с прозрачностью - PullRequest
1 голос
/ 25 декабря 2010

Мне нужно отобразить анимацию, состоящую из 2 слоев с альфа-прозрачностью. Мне нужно это, чтобы я мог решить и показать правильную комбинацию на лету.

  • Мы можем использовать PNG-последовательности, видео с альфа-каналом или что-то еще.
  • Анимация короткая, 8 секунд, 15 кадров в секунду, 320x120 пикселей, без звука.

Невозможно предварительно визуализировать каждую комбинацию, потому что у нас есть 2 слоя по 100 вариантов в каждом, которые должны смешиваться с фиксированным статическим фоном; для этого потребуется 100x100 = 10000 последовательностей.

Итак, Возможно ли объединить 2 анимированных слоя в Delphi без слишком большой потери синхронизации?

Duck

Ответы [ 2 ]

3 голосов
/ 25 декабря 2010

Вы можете использовать стороннюю графическую библиотеку, такую ​​как Graphics32 . Вы должны встроить каждый кадр в растровое изображение в памяти, а затем перетащить его на экран. Достигнуть 15fps без мерцания при 320x120 было бы легко - я считаю, что вы могли бы с легкостью получить более 10-кратную частоту кадров.

С другой стороны, я не думаю, что было бы слишком сложно просто нарисовать его на TPaintBox с простыми командами GDI.

1 голос
/ 25 декабря 2010

пусть это в двух панелях. И используйте GDI +, чтобы панели имели прозрачность. Или вы можете использовать RzPanel RaizeComponents, у него есть альфа-атрибут.

...