Einzelnen Beitrag anzeigen

Nic2012

Registriert seit: 2. Mai 2012
62 Beiträge
 
#1

Overlay bzw. Layer über Video

  Alt 2. Apr 2013, 12:47
Hi,
für die Wiedergabe von Videodaten eines ComServers verwende ich das TImage in D7. Nachdem das Einzelbild an die TImage-Componente übergeben wurde, möchte ich noch nachträglich eine Linie in den Canvas von TImage zeichnen. Die Linie ist aber nicht zu sehen, das Video aber schon. Woran liegt es ?
Code:
procedure TMain_Form.liveTimerTimer(Sender: TObject);
var pv: TVariantBytes; ms:TMemoryStream; j: TJPEGImage;
begin
  pv := nil;
  liveTimer.Enabled := false;
  try
    ms := TMemoryStream.Create;
    j := TJPEGImage.Create;
    try
      pv := nc.SafeArrayToByteVariants(nc.LiveViewBuffer);
      ms.WriteBuffer(pv[0], Length(pV));
      ms.Seek(0, soFromBeginning );
      j.LoadFromStream(ms);
      Image1.Picture.Bitmap.Assign(j);

      Image1.Canvas.Pen.Color:= clLime;
      Image1.Canvas.Pen.Width := 5;
      Image1.Canvas.LineTo(100,100);
    finally
      pv := nil;
      j.Free;
      ms.Free;
    end;

  finally
    liveTimer.Enabled := true;
  end;
end;
  Mit Zitat antworten Zitat