Задача:

1) Создать в видеопамяти оверлей средствами DirectDraw

в режиме fullscreen

2) Переключить оврелей в один из 2-х режимов:

РЕЖИМ 1: оврлей ложится как обои рабочего стола

(с помощью задание цвета приемника), как, например

делает winamp avs plugin в режиме destop overlay;

РЕЖИМ 2: оверлей остается активным, но никак не

выводится на экран;

3) Вывести на этот оврлей произвольный битмап

(изображение).

Основное и главное требование: Этот оверлей должен

корректно отображаться на экране телевизора,

подключенного к видеокарте через s-video выход.

Вывод должен производится на ТВ в режиме

видеокарты "Театр". Должно работать на Radeon 9550.

Подробнее о режиме "Театр": Режим поддерживается

современными видеокартами. При нем на на тв-выход

выводится только содержимое оверлея в памяти видекарты,

а не весь рабочий стол (как в режиме клон). Причем этот

оверлей может автоматически растягиваться по размерам

экрана ТВ (настраивается в драйверах,

опции "Окно"/"Overlays").

Например, в этом режиме при просмотре видео через

программу-плеер (используя оверлей) на ТВ экран будет

отображать только содержимое видеоокна плеера (без

рабочего стола).

Можно даже полностью свернуть плеер, скрыв оверлей с

рабочего стола, но на ТВ он по прежнему будет отображаться

фулскрин или нет (опционально).

Т.е. вышеперечисленные пункты должны генерировать

оверлей с изображением, который будет грамотно выводится

на ТВ в режиме видеокарты "Театр" (поддерживать

масштабирование).

Все это необходимо реализовать на Delphi.

Я пытался сам реализовать данный функционал, но ввиду

полного отсутствия опыта в работе с библиотекой DirectX

у меня возникла проблема, которую я не смог решить:

Оврлей на рабочем столе монитора выводился как надо,

НО в то же самое время на телевизоре отображался лишь

пустой прямоугольник оврелея, залитый цветом фона.

От исполнителя мне необходимы процедуры:

1) InitOverlay(width,height: integer);

Инициализация DirectX, создание поврехности.

width, height: размеры битмапа который будет выводится на

оверлей

2) ShowOverlay(mode: integer);

Активирует оверлей в режимах:

mode=1: скрытый

mode=2: на обои рабчего стола

4) DrawBitmap(Bitmap: TBitmap);

Выводит в оврелей изображение Bitmap (24 или 32 бит).

5) CloseOverlay();

19 лет назад
xanderz
Гость 
125 лет
19 лет в сервисе
Был
19 лет назад

Заявки фрилансеров

Нет заявок фрилансеров
  • Похожие заказы

  • Требуется программист-математик для разработки расчетной части имитационной модели управления запасами. Задачи включают формализацию целевой функции, работу с детерминированными и вероятностными параметрами, определение стохастического процесса, а также проведение имитационного розыгрыша с использованием метода Монте-Карло. Работа будет оцениваться поэтапно.

    Закрыт
    19 лет назад
  • Необходимо вскрыть формат *.EPS, определить точки, образующие кривые графики, и загрузить полученные данные в базу. Ожидается точное извлечение информации для дальнейшей обработки.

    Закрыт
    19 лет назад
  • Требуется разработать .NET-контроль, который позволит приложению .NET размещать экземпляр MS Windows Excel в существующей WinForm. Необходима реализация аналогичного функционала, как в ActiveHostControl, представленном в Visual Studio 2005 Beta.

    Закрыт
    19 лет назад
  • Требуется перевод приложения Corel Paradox в VB.NET. Необходим опыт работы с Borland/Corel Paradox Runtime и VB.NET. Обязательные примеры работ по теме.

    Закрыт
    19 лет назад
  • Необходимо доработать импорт номенклатуры в 1С 7.7 для работы с Excel файлом определенного формата. Ожидается корректная настройка процесса импорта для успешного взаимодействия с данными.

    Закрыт
    19 лет назад
  • Требуется разработать функцию на Visual Basic for Application для копирования базы данных Х из MS Access в новую базу данных У на MS SQL Server. Задача включает написание кода, который обеспечит корректное перемещение и сохранение данных.

    Закрыт
    19 лет назад
  • $100

    Ищется готовый модуль для импорта данных из программы АвтоСофт в 1С:Бухгалтерия 7.7. Заказчик готов рассмотреть предложения на покупку. Ожидаются решения, которые упростят процесс передачи данных между системами.

    Закрыт
    19 лет назад
  • $200

    Требуется разработать модуль управления параллелизмом (CCM) для сервера, обеспечивающего сериализованный доступ к данным. Модуль должен поддерживать 2-фазную блокировку, управление объектами в памяти и многопоточность. Необходимо реализовать функции хранения, доступа, индексации, удаления и поиска данных. Бюджет - $200.

    Закрыт
    19 лет назад
  • Необходимо разработать прикладное программное обеспечение на C Builder для работы с магнитным кард-ридером. Задача включает написание кода для считывания номеров карт Visa и MasterCard. Ожидается качественное и эффективное решение.

    Закрыт
    19 лет назад