![]() |
Webcam Bild (JPG) per FTP-Uploaden
Hallo allezusammen!
Ich habe mir den Script von Ultimator mal als Basis Programm "genommen":
Delphi-Quellcode:
und nun bekomme ich das aktuelle Bild in Panel1 angezeigt, nur wie kann ich jetzt das ganze als JPG speichern und dann per FTP uploaden? (ich denke mal mit idFTP (habe ich schonmal getestet, geht gut))
//Zuerst brauchst du folgende Konstanten
const WM_CAP_DRIVER_CONNECT = WM_USER + 10; WM_CAP_EDIT_COPY = WM_USER + 30; WM_CAP_SET_PREVIEW = WM_USER + 50; WM_CAP_SET_OVERLAY = WM_USER + 51; WM_CAP_SET_PREVIEWRATE = WM_USER + 52; implementation {$R *.dfm} //Dann brauchst du noch das hier function capCreateCaptureWindow(lpszWindowName: LPCSTR; dwStyle: DWORD; x, y, nWidth, nHeight: integer; hwndParent: HWND; nID: integer): HWND; stdcall; external 'AVICAP32.DLL' name 'capCreateCaptureWindowA'; procedure TForm1.LaberLaber; //halt irgendne Prozedur, ich habs im Formcreate, damit ich gleich was seh ^^ var handle:THandle; begin handle := capCreateCaptureWindow('Video',ws_child+ws_visible, 0, 0, 320, 240, Panel1.Handle, 1); //Wie du siehst, brauchst du ein Panel in diesem Beispiel ;-) SendMessage(handle, WM_CAP_DRIVER_CONNECT, 0, 0); SendMessage(handle, WM_CAP_SET_PREVIEWRATE, 30, 0); sendMessage(handle, WM_CAP_SET_OVERLAY, 1, 0); SendMessage(handle, wm_cap_set_preview, 1, 0); end; Das ganze sollte dann auch automatisch alle 2-5 sec geschehen (möchte ich per Timer machen). Nun wie bekomme ich das hin? Wenn jemand schon ein SourceCode für so etwas hat und ihn mir zum "spielen" gibt, wäre ich sehr dankbar! Gruß i-n |
Re: Webcam Bild (JPG) per FTP-Uploaden
klingt ganz danach, als ob du andere ausspionieren moechtest.
|
Re: Webcam Bild (JPG) per FTP-Uploaden
Naja, eigentlich ist die Sache recht einfach:
- Als erstes brauchst du das Bild vom Panel in eine "Bild-Variable" (z.B. ein TBitmap). Das erreichst du zum Beispiel mit der ![]() - Dann konvertierst du das Bitmap in ein JPEG. Das geht imho via
Delphi-Quellcode:
.
JpegImage.Assign(Bitmap)
- Danach speicherst du das Bild als Datei. - Und dann lädst du sie hoch. (wie du es scheinbar schon gemacht hast) Fertig. Noch Fragen? :D |
Re: Webcam Bild (JPG) per FTP-Uploaden
Zitat:
|
Re: Webcam Bild (JPG) per FTP-Uploaden
Zitat:
chaosben, funktioniert das auch mit video-overlays? |
Re: Webcam Bild (JPG) per FTP-Uploaden
ich habe einen PC mit einer Webcam, die zur Straße guckt im Keller stehen, und ich würde mal gern versuchen das jpg von der schule über einen Server zu erreichen (fast live versteht sich).
Ich vestehe nicht ganz, wie ich das Bild zum jpg bringe. So?:
Delphi-Quellcode:
Gruß i-n
var
bild : TBitmap; //? oder String? begin bild := handle JpegImage.Assign(bild); end; |
Re: Webcam Bild (JPG) per FTP-Uploaden
Delphi-Quellcode:
natuerlich musst du das dann noch abspeichern (j.savetofile()) und das j objekt wieder freigeben (j.free)
uses jpeg;
.. var j: tjpegimage; begin j := tjpegimage.create; j.assign(deine TBitmap quelle); |
Re: Webcam Bild (JPG) per FTP-Uploaden
Morgen.
Eine möglichkeit das Bild von dem Panel in ein Bitmap zu bekommen ist über die Zwischenablage, wobei VHandle dein Video-Handle ist.
Delphi-Quellcode:
SendMessage(Vhandle, WM_CAP_EDIT_COPY, 1, 0 );
Image1.Picture.Bitmap.LoadFromClipboardFormat(cf_BitMap,ClipBoard.GetAsHandle(cf_Bitmap),0); |
Re: Webcam Bild (JPG) per FTP-Uploaden
gut!
ich habe noch
Delphi-Quellcode:
in uses geschrieben, dann gings, bis auf, dass nur ein schwarzes Bild gespeichert wird, da Image1 kein Bild bekommt.
Clipbrd
Delphi-Quellcode:
Gruß i-n
SendMessage(handle, WM_CAP_EDIT_COPY, 1, 0 ); //Läd Bild in das Clipboard, oder?
Image1.Picture.Bitmap.LoadFromClipboardFormat(cf_BitMap,ClipBoard.GetAsHandle(cf_Bitmap),0); // Soll das nicht das Bild in Image1 laden? |
Re: Webcam Bild (JPG) per FTP-Uploaden
Moment, ich habe BD2006 einmal neugestartet, jetzt geht's! (also noch ^^)
Vielen Danke für eure Hilfe! Ich werde mich mal jetzt mit dem Upload beschäftigen, wenn ich etwas nicht versteh, melde ich mich... Gruß i-n |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz