|
|
|
Интерфейс на основе DirectX
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Хотелось бы услышать Ваше мнение по решению нижеописанной задачи. Исходные данные Имеется интерфейс программы: - TImage - Фоновая картинка - TLabel - Текстовая информация - TButton - Кнопки управления Вопрос Есть ли возможность использовать вместо статической картинки видео ролик? Если использовать форму программы для отображения DirectX (использую интерфейс IID_IVideoWindow), то перетираются кнопки и текстовая информация. Если через DirectX брать каждый фрейм и рисовать через GDI - то тормозит и прерывается ролик. Буду признателен за совет или похожие решения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2019, 17:41 |
|
||
|
Интерфейс на основе DirectX
|
|||
|---|---|---|---|
|
#18+
LeoAm, 1) поиграться с регионами — но это не даст альфа прозрачности 2) FireMonkey 3) возможно как-то не оптимально рисование происходит? Попробуйте использовать TEsImageLayout из https://github.com/errorcalc/FreeEsVclComponents ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2019, 01:58 |
|
||
|
Интерфейс на основе DirectX
|
|||
|---|---|---|---|
|
#18+
Видео на одно окно рендерить а интерфейс на другое, прозрачное, расположенное поверх окна с видео. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2019, 03:12 |
|
||
|
Интерфейс на основе DirectX
|
|||
|---|---|---|---|
|
#18+
Спасибо за советы errorsoft, Как я понял, Ваши советы касаются прорисовки изображения, а не ролика в целом. На счет FireMonkey - не работал ранее. Посмотрю что он может предложить... rgreat, Ваш совет относительно двух окон я уже реализовывал. Окно делал прозрачным используя TransparentColor. Получается все почти идеально... но есть нюанс! Компоненты ТLabel выглядят искаженно! Картинку прилагаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2019, 10:02 |
|
||
|
Интерфейс на основе DirectX
|
|||
|---|---|---|---|
|
#18+
LeoAm, Какого размера кадр видео и какая частота? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2019, 11:13 |
|
||
|
Интерфейс на основе DirectX
|
|||
|---|---|---|---|
|
#18+
LeoAmОкно делал прозрачным используя TransparentColor. Получается все почти идеально... но есть нюанс! Компоненты ТLabel выглядят искаженно! Попробуй в настройках винды отключить сглаживание шрифтов, оно в такой схеме нормально работать не может. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2019, 13:09 |
|
||
|
Интерфейс на основе DirectX
|
|||
|---|---|---|---|
|
#18+
LeoAm Если использовать форму программы для отображения DirectX (использую интерфейс IID_IVideoWindow), то перетираются кнопки и текстовая информация. Вот рендеринг не через IID_IVideoWindow, а через IVMRWindowlessControl. Кнопка видна, TLabel не виден, TStaticText виден, но цвет шрифта почему-то не меняется (может стилю Виндовс соответствует). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2019, 15:11 |
|
||
|
Интерфейс на основе DirectX
|
|||
|---|---|---|---|
|
#18+
Но некрасиво) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2019, 15:13 |
|
||
|
Интерфейс на основе DirectX
|
|||
|---|---|---|---|
|
#18+
s62, другие контролы нужны, которые в альфа канал нормально умеют. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2019, 16:09 |
|
||
|
Интерфейс на основе DirectX
|
|||
|---|---|---|---|
|
#18+
Или ручками рисовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2019, 16:36 |
|
||
|
Интерфейс на основе DirectX
|
|||
|---|---|---|---|
|
#18+
Мне вообще трудно представить чтобы отрисовка через GDI тормозила. FullHD bitmap на соответствующем по размеру экране с самой дешевой видеокартой рисуется ~10 мс, без нее ~2 раза дольше. Чтобы видео не успевало отрисовываться, у него bitrate должен быть раз в 50 больше. Не уверен, что в природе существуют записывающие устройства с такими параметрами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2019, 16:50 |
|
||
|
Интерфейс на основе DirectX
|
|||
|---|---|---|---|
|
#18+
s62, Спасибо за отзыв. Не имею опыта работы с этим интерфейсом. Если Ваш проект не представляет ценности, можете поделиться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2019, 10:41 |
|
||
|
Интерфейс на основе DirectX
|
|||
|---|---|---|---|
|
#18+
LeoAm, Ну, граф строится так же, как и в случае с IVideoWindow. Только вместо кода для IVideoWindow, что-то вот примерно такое (из учебно-практического :) примера, тут еще текст накладывался, смотрел, как это делается) Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Код: pascal 1. 2. 3. 4. 5. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. Вывод сообщений тут - для меня самого, в процессе разработки. Ещё Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2019, 17:40 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39816856&tid=2039381]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
153ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
67ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 477ms |

| 0 / 0 |
