Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.15.141.184] |
|
Сообщ.
#1
,
|
|
|
Всем салют!
На форме есть контрол WindowsMediaPlayer. Мне нужно вывести текст поверх него. Каким образом это можно сделать? Проблема в том, что все остальные контролы всегда отображаются под WMP. |
Сообщ.
#2
,
|
|
|
Думал о том, чтобы создать сверху объект "Надпись".
Но не могу понять как её создать. Делаю copy-paste, получается ерунда какая-то. Во-первых, её положение относительно формы другое. Т.е. у формы Left/Top относительно экрана, а у объекта – относительно листа. Во-вторых, не понимаю, как поменять текст. Пишу TextFrame.TextRange.Text = S, ругается. Как-то можно именно _создать_ объект "Надпись" без рамки и с прозрачным фоном? Желательно установив нужный цвет текста, сделав его жирным. Разместить в нужное место. |
Сообщ.
#3
,
|
|
|
Не получится, ибо директХэ-оверлей.
|
Сообщ.
#4
,
|
|
|
А использовать TextOut из WinApi? В Api-Guide есть пример. Только надо Обновление сделать, чтоб по таймеру выводилось.
Gonarh Думаешь GDI не перерисует поверх? Помню как-то давно была фишка... Запускаешь видео в WMP, жмешь аль+принтскрин. Запускаешь Paint, делаешь заливку черным, жмешь ctrl+v, и вот видео идет и Пайнте и в плеере. Только в пайнте можно поверх рисовать=) ПС Сейчас проверил с различными плеерами, не проканывает=) |
Сообщ.
#5
,
|
|
|
Цитата Jin X @ Всем салют! На форме есть контрол WindowsMediaPlayer. Мне нужно вывести текст поверх него. Вывести текст можно более другим способом - проигрывать не самое видео, а скрипт от Avsynth. А вот в нем уже запрограммировать тайм-коды, положение, гарнитуру и цвет текста. Ну, естественно, для такой обработки Avsynth должен быть установлен в системе. До появления ChatGPT скрипты приходилось писать долго и муторно вручную, сейчас с этим гораздо проще - просто написать задание для ChatGPT. Пример: Цитата напиши мне скрипт для Аvsynth, который загружает видео video.mkv, и проигрывает его, при этом от начала и до конца проигрывания выводится текст в верхнем левом углу с отступами по вертикали и горионтали 96pх "Пример текста". Текст должен выводится белым цветом, шрифтом Arial, размером 14px. Текст должен иметь обводку черным цветом толщиной 2px Вот ответ ChatGPT: video = DirectShowSource("video.mkv") text = "Пример текста" text_color = $FFFFFF text_outline_color = $000000 text_outline_thickness = 2 text_font = "Arial" text_size = 14 text_padding_x = 96 text_padding_y = 96 text_clip = TextSub(video, text, font=text_font, size=text_size, text_color=text_color, \ align=3, x=text_padding_x, y=text_padding_y, \ text_outline=text_outline_thickness, text_outline_color=text_outline_color) StackHorizontal(video, text_clip) Этот скрипт нужно сохранить в файл с расширением .avs и проигрывать его. Пробуй. |