Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Наложение битмапа на видео 
:(
    Опции темы
casio23
Дата 19.6.2012, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 22.5.2012

Репутация: нет
Всего: нет



подскажите как наложить битмап на видео,в примере bm накладываю на image1,  использую DSPack. Сделал так:
Код

бла бла....
var
  VideoDevice:TSysDevEnum;
begin
VideoDevice := TSysDevEnum.Create(CLSID_VideoInputDeviceCategory);//получаем список устров с которых можно принять видео поток(получаем список веб камер)
if VideoDevice.CountFilters > 0 then //если есть хоть один девайс
for i:=0 to VideoDevice.CountFilters - 1 do// то добавляем девайсы в список для выбора
ComboBox1.Items.Add(VideoDevice.Filters[i].FriendlyName);

FilterGraph1.ClearGraph;//настраеваем фильтр
FilterGraph1.Active := false;
Filter1.BaseFilter.Moniker:=VideoDevice.GetMoniker(0);//выводим изображение с первого девайса
FilterGraph1.Active := true;
ComboBox1.ItemIndex := 0;
//задайом что откуда нужно получать и что куда должно выводится
with FilterGraph1 as ICaptureGraphBuilder2 do
RenderStream(@PIN_CATEGORY_PREVIEW,nil,
Filter1 as IBaseFilter,
SampleGrabber1 as IBaseFilter,
VideoWindow1 as IbaseFilter);

//выводим изображение
FilterGraph1.Play;

VideoWindow1.Visible := false;

  bm := TBitmap.Create;// накладываемый битмап
  with bm.Canvas do
  begin
    Brush.Style := bsClear;
    Pen.Color := clRed;
    Pen.Width := 2;
    Font.Color := clLime;
    Font.Style := [fsBold];
    Font.Size := 10;
  end;
tmp := TBitmap.Create;
end;
procedure TForm2.SampleGrabber1Buffer(sender: TObject; SampleTime: Double;
  pBuffer: Pointer; BufferLen: Integer);
var
  x, y, size, c, n: Integer;
  bgrdata: PRGBTripleArray;
begin

SampleGrabber1.GetBitmap(tmp, pBuffer, BufferLen);

if tmp = nil then Exit else

бла бла.....

  bm.Assign(tmp);

Image1.Picture.Bitmap.Assign(bm);// здесь накладывается битмап


но тормозит и подвисает. подскажите как исправить
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.2017 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.