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;