в этом ответе я использую растровое изображение.
это будет немного медленнее, чем предыдущий (но трудно заметить)
Мы собираемся получать изображение при каждом тике таймера (например, интервал = 100), присваивать его нашему полю изображения, а затем изменять наш размер, независимо от того, какое разрешение по умолчанию, оно получит изображение размера по умолчанию например: 640 * 480) и в поле изображения мы собираемся изменить размер.
uses
....
VFrames;
var
....
cam:TVideoImage;
implementation
procedure TForm6.FormCreate(Sender: TObject);
begin
cam := TVideoImage.Create;
image1.stretch := true ;
image1.height := 120 ;
image1.width := 160 ;
end;
procedure TForm6.Timer1Timer(Sender: TObject);
begin
cam.GetBitmap(Image1.Picture.Bitmap);
end;
procedure TForm6.Button1Click(Sender: TObject);
var
camlist:TStringList;
begin
camlist := TStringList.Create ;
cam := TVideoImage.Create;
cam.GetListOfDevices(camlist);
cam.VideoStart(camlist.Strings[0]) ;
end;