Von einer USB Webcam habe ich einen Stream. Darauf möchte ich zeichnen können wie auf ein Timage.
Das sieht so aus:
Code: Alles auswählen
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls,
PasLibVlcPlayerUnit;
type
{ TForm1 }
TForm1 = class(TForm)
btnCam: TButton;
PasLibVlcPlayer1: TPasLibVlcPlayer;
procedure btnCamClick(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.btnCamClick(Sender: TObject);
Var
source : WideString;
begin
source:='v4l2:///dev/video0';
PasLibVlcPlayer1.Play(source);
PasLibVlcPlayer1.Canvas.Brush.Color:=clYellow ;
PasLibVlcPlayer1.Canvas.Rectangle(10,10,30,30);
end;
end.
Aber warum?
Könnte eventuell in einem TImage Snapshots des Streams darstellen und dann darauf zeichnen?
Oder wie geht man da elegant vor?
Möchte einfach ein paar Linien zeichnen und Text einblenden.