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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> TV тюнер, получение картинки с TV тюнера 
:(
    Опции темы
Gigabyte
Дата 2.11.2004, 09:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Студент-халявщик
**


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

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



Помогите: как мне получить картинку с TV тюнера или цифровой камеры с помощью дельфи.

Это сообщение отредактировал(а) Gigabyte - 4.11.2004, 08:40


--------------------

user posted image
user posted image
PM MAIL ICQ   Вверх
eldorado
Дата 10.11.2004, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Код

unit VidCap;

interface

uses
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
 Dialogs, ExtCtrls, StdCtrls;

type
 TForm3 = class(TForm)
   Panel1: TPanel;
   OpenVideo: TButton;
   CloseVideo: TButton;
   GrabFrame: TButton;
   SaveBMP: TButton;
   StartAVI: TButton;
   StopAVI: TButton;
   SaveDialog1: TSaveDialog;
   procedure FormCreate(Sender: TObject);
   procedure OpenVideoClick(Sender: TObject);
   procedure CloseVideoClick(Sender: TObject);
   procedure GrabFrameClick(Sender: TObject);
   procedure SaveBMPClick(Sender: TObject);
   procedure StartAVIClick(Sender: TObject);
   procedure StopAVIClick(Sender: TObject);

 private
   { Private declarations }
   hWndC: THandle;
   CapturingAVI: bool;

 public
   { Public declarations }
 end;

var
 Form3: TForm3;

implementation


{$R *.dfm}
const
 WM_CAP_START = WM_USER;
const
 WM_CAP_STOP = WM_CAP_START + 68;
const
 WM_CAP_DRIVER_CONNECT = WM_CAP_START + 10;
const
 WM_CAP_DRIVER_DISCONNECT = WM_CAP_START + 11;
const
 WM_CAP_SAVEDIB = WM_CAP_START + 25;
const
 WM_CAP_GRAB_FRAME = WM_CAP_START + 60;
const
 WM_CAP_SEQUENCE = WM_CAP_START + 62;
const
 WM_CAP_FILE_SET_CAPTURE_FILEA = WM_CAP_START + 20;

function capCreateCaptureWindowA(lpszWindowName: PCHAR;
 dwStyle: longint;
 x: integer;
 y: integer;
 nWidth: integer;
 nHeight: integer;
 ParentWin: HWND;
 nId: integer): HWND;
 stdcall external 'AVICAP32.DLL';

procedure TForm3.FormCreate(Sender: TObject);
begin
 CapturingAVI := false;
 hWndC := 0;
 SaveDialog1.Options :=
   [ofHideReadOnly, ofNoChangeDir, ofPathMustExist]
end;

procedure TForm3.OpenVideoClick(Sender: TObject);
begin
 hWndC := capCreateCaptureWindowA('My Own Capture Window',
   WS_CHILD or WS_VISIBLE,
   Panel1.Left,
   Panel1.Top,
   Panel1.Width,
   Panel1.Height,
   Form1.Handle,
   0);
 if hWndC <> 0 then
   SendMessage(hWndC, WM_CAP_DRIVER_CONNECT, 0, 0);
end;

procedure TForm3.CloseVideoClick(Sender: TObject);
begin
 if hWndC <> 0 then
 begin
   SendMessage(hWndC, WM_CAP_DRIVER_DISCONNECT, 0, 0);
   hWndC := 0;
 end;
end;

procedure TForm3.GrabFrameClick(Sender: TObject);
begin
 if hWndC <> 0 then
   SendMessage(hWndC, WM_CAP_GRAB_FRAME, 0, 0);
end;

procedure TForm3.SaveBMPClick(Sender: TObject);
begin
 if hWndC <> 0 then
 begin
   SaveDialog1.DefaultExt := 'bmp';
   SaveDialog1.Filter := 'Bitmap files (*.bmp)|*.bmp';
   if SaveDialog1.Execute then
     SendMessage(hWndC,
       WM_CAP_SAVEDIB,
       0,
       longint(pchar(SaveDialog1.FileName)));
 end;
end;

procedure TForm3.StartAVIClick(Sender: TObject);
begin
 if hWndC <> 0 then
 begin
   SaveDialog1.DefaultExt := 'avi';
   SaveDialog1.Filter := 'AVI files (*.avi)|*.avi';
   if SaveDialog1.Execute then
   begin
     CapturingAVI := true;
     SendMessage(hWndC,
       WM_CAP_FILE_SET_CAPTURE_FILEA,
       0,
       Longint(pchar(SaveDialog1.FileName)));
     SendMessage(hWndC, WM_CAP_SEQUENCE, 0, 0);
   end;
 end;
end;

procedure TForm3.StopAVIClick(Sender: TObject);
begin
 if hWndC <> 0 then
 begin
   SendMessage(hWndC, WM_CAP_STOP, 0, 0);
   CapturingAVI := false;
 end;
end;

end.

PM MAIL WWW   Вверх
Gigabyte
Дата 11.11.2004, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Студент-халявщик
**


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

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



А можно теперь пожалуйсьта с пояснением
а то я новичок в Дельфи smile


--------------------

user posted image
user posted image
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

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

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

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

FAQ раздела лежит здесь!


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

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


 




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


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

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