Перейти к содержанию
Fire Monkey от А до Я
  • 0

TImage Stretch


Mars M

Вопрос

Прошу совета.

Использую TImage для вывода видео, то есть примерно 25 раз в сек меняю изображение.

Сейчас делаю так - само изображение равно оригинальному размеру кадра. У TImage установлено свойство Strech и в зависимости от режима отображение(вписать по горизонтали, вертикали, 4;3, 16;9 итд) меняю размер и положение TImage.

Вопрос в том, как лучше сделать, так как есть или лучше менять размер самого изображения а TImage просто растянуть на всю форму?

Как правильней? 

Для меня важно что бы меньше нагружало процессор и желательно что бы все преобразования происходили в GPU.

 

Ссылка на комментарий

Рекомендуемые сообщения

  • 1

Ресайз приложения лучше сделать до того как помещать его в Timage. Не лучше -ли использоватьTMediaPlayerControl для вывода видео? Если Вы сами как-то расжимаете видео, то может стоит просто обратится к TMediaCodecManager и посмотреть как это делается уже имеющимися средствами. Там ещё в TMediaPlayer есть VideoSize. Посмотрите это всё. Возможно я вас неправильно понял, если это так - объясните чуть подробнее.

Изменено пользователем MAD_EVAL
Добавил ответ
Ссылка на комментарий
  • 0

Мне нужно отображать потоковое видео, по этому  TMediaPlayerControl не подходит.

Использую libvlc. Начал делать в VCL с выводом видео через OpenGL, работает все нормально. Но решил перенести проект в FMX, что бы сделать красивые панели, менюшки и все такое :) Да и в итоге сделать под андроид.

Но в FMX постоянно вылетает при изменение размера формы(и в месте с ним TImage). Ошибка все время в функции GetSceneScale в FMX.Forms

function TCustomForm.GetSceneScale: Single;
begin
  Result := Handle.Scale;
end;

За основу взял PasLibVlc, после некоторых переделок стало получше с вылетами.

59 минут назад, MAD_EVAL сказал:

Ресайз приложения лучше сделать до того как помещать его в Timage.

Попробую сделать именно так, только вот думаю что если самому ресайзить изображение до вывода в TImage, то все это будет делать средствами процессора. А я специально от это избавлялся в libvlc.

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...