Thema: Delphi WebCam - TVideoCap ?

Einzelnen Beitrag anzeigen

Nisbo

Registriert seit: 10. Mär 2005
191 Beiträge
 
Delphi 5 Standard
 
#10

Re: WebCam - TVideoCap ?

  Alt 19. Apr 2005, 11:49
ich werde hier noch verrückt, ich bekomme es jetzt nichtmal hin ein einfaches Bild zu senden

dafür habe ich dieses Code den ich durch die Suche gefunden habe benutzt:

Delphi-Quellcode:
procedure TForm1.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket);
var fsWork : TFileStream;
    sBuffer : String;
begin
    fsWork := TFileStream.Create('C:\bild.jpg', fmOpenRead);
    sBuffer := StringOfChar(#0,fsWork.Size);
    fsWork.Seek(0, soFromBeginning);
    Socket.SendStream(fsWork);
end;
mein Programm rufe ich über den Browser auf, also IPort/bild.jpg
wie gesagt der aufruf wird erkannt, auch wenn ich im Browser auf abbrechen gehe wird es erkannt, siehe code oben

mir wurde bei meiner ganzen testerei auch schon mal das bild angezeit, einmal ganz und dann mehrmals nur teilweise

denke mal das ich zuerst dieses Problem lösen muß um dann die sache mit dem Einzelbild aus dem CamBild umzusetzen

hoffe es kann mir jemand helfen


EDIT: jetzt habe ich rausbekommen wie man zumindest etwas vom Bild bekommt, warum auch immer ist mir nicht klar aber als ich auf den Server starten Button geklickt habe welcher diesen Code ausführt:

Delphi-Quellcode:
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
     ServerSocket1.Active := false;
     ServerSocket1.Port := StrToIntDef(Edit4.Text,8888); // Port 8888 ist Standard
     try
        ServerSocket1.Active := true;
     except
        raise;
     end;

     if ServerSocket1.Active then
     begin
          // noch nichts
       // showmessage('Server gestartet!');
     end;
end;
kam ein Bild im Browser an, allerdings nur ca 2/3 vom Bild

also habe ich mir einen sleep(100) mit eingebaut, ohne den gehts nicht, k.a. warum nicht und danach einen ButtonClick simuliert

Delphi-Quellcode:
procedure TForm1.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket);
var fsWork : TFileStream;
    sBuffer : String;
begin

    fsWork := TFileStream.Create('C:\polauto.jpg', fmOpenRead);
    sBuffer := StringOfChar(#0,fsWork.Size);
    fsWork.Seek(0, soFromBeginning);
    Socket.SendStream(fsWork);

    sleep(100);
    BitBtn1.Click;

end;
Jens
  Mit Zitat antworten Zitat