Bild von URL Laden und anzeigen
Bild von URL Laden und anzeigen
Hi allerseits,
Mein Problem: Meine Webcam stellt ein Bild unter einer URL (http:\\xyz\Bild.jpg) ins Netz. Dieses Bild will ich nun abfragen und anzeigen (später auch speichern).
Wie ihr seht bin ich ziemlich neu hier und hab noch wenig erfahrung mit Lazarus. Es wäre echt nett wenn ihr mir irgendwie helfen könntet,
Kingjin
P.S. OS: Win7 64bit.
Mein Problem: Meine Webcam stellt ein Bild unter einer URL (http:\\xyz\Bild.jpg) ins Netz. Dieses Bild will ich nun abfragen und anzeigen (später auch speichern).
Wie ihr seht bin ich ziemlich neu hier und hab noch wenig erfahrung mit Lazarus. Es wäre echt nett wenn ihr mir irgendwie helfen könntet,
Kingjin
P.S. OS: Win7 64bit.
-
- Beiträge: 770
- Registriert: Sa 21. Feb 2009, 13:46
- OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
- CPU-Target: 32Bit
Re: Bild von URL Laden und anzeigen
such mal nach synapse
binde in uses die unit "httpsend" ein.
Dann kannst du die Funktion
aufrufen.
Gibt den URL ein und bei Response machst du ca folgendes:
Achso, das speichert ein Bild Lokal.
Du köntest wahrscheinlich auch einfach.
Gibt aber warscheinlich auch ne ordentlichere Lösung das ganze direkt in in ein Bild anzugeben und nicht erst auf die Festplatte zu schreiben...
Edit: zur gleichen Zeit wurde die frage nochmal gestellt.
Theo hatte eine bessere Idee das direkt in TStream zu laden, damit übergeht man das Speichern. Die verwendung ist ähnlich wie hier beschrieben ...
Siehe http://www.lazarusforum.de/viewtopic.php?f=55&t=4425" onclick="window.open(this.href);return false;
binde in uses die unit "httpsend" ein.
Dann kannst du die Funktion
Code: Alles auswählen
HttpGetText(const URL: string; const Response: TStrings): Boolean;
Gibt den URL ein und bei Response machst du ca folgendes:
Code: Alles auswählen
procedure EineProcedure;
var
BIldString:TStringList // hier steht Stringlist obwohl eigentlich TStrings vorgeschrieben sind, liegt daran das TStringList abgeleitet von TStrings ist (... = das gleiche ist wie TStrings nur etwas mehr).
begin
HttpGetText('http://www.google.de/images/srpr/logo3w.png',BildString);
BildString.SavetoFile('C:\test1.png');
// das Downloadet die Seite, ob es ein Text ist oder ein Bild sollte dem Programm egal sein (ist am ende sowieso ein haufen nullen und einsen...)
end;
Du köntest wahrscheinlich auch einfach
Code: Alles auswählen
Image1.LoadfromFile(C:\test1.png'); hinten drannpacken // eventuell warten bis alles gespeichert ist...
Gibt aber warscheinlich auch ne ordentlichere Lösung das ganze direkt in in ein Bild anzugeben und nicht erst auf die Festplatte zu schreiben...
Edit: zur gleichen Zeit wurde die frage nochmal gestellt.
Theo hatte eine bessere Idee das direkt in TStream zu laden, damit übergeht man das Speichern. Die verwendung ist ähnlich wie hier beschrieben ...
Siehe http://www.lazarusforum.de/viewtopic.php?f=55&t=4425" onclick="window.open(this.href);return false;
Code: Alles auswählen
Signatur := nil;
Re: Bild von URL Laden und anzeigen
Ich habs jetz mal mit HTTPGetBinary versucht:
Wenn ich das Ausführe krieg ich einen "External: SIGSEGV" Error, was mach ich falsch? Ist das while richtig gesetzt (soll damit warten bis fertig geladen ist).
Und was mach ich dann mit diesem TStream-Objekt? Kann ich es so verwenden?
Ich hoffe ihr könnt mir weiterhelfen!
Und schon mal danke für den ersten denkanstoß
Code: Alles auswählen
while HttpGetBinary('http://www.google.de/images/srpr/logo3w.png', BildStream) do
begin
end;
Und was mach ich dann mit diesem TStream-Objekt? Kann ich es so verwenden?
Code: Alles auswählen
Image1.Picture.LoadFromStream(BildStream);
Und schon mal danke für den ersten denkanstoß

-
- Beiträge: 958
- Registriert: Mo 11. Sep 2006, 22:56
Re: Bild von URL Laden und anzeigen
Synapse ist exzellent dokumentiert:
http://synapse.ararat.cz/doku.php/publi ... tpdownload" onclick="window.open(this.href);return false;
http://wiki.lazarus.freepascal.org/Deve ... h_Graphics" onclick="window.open(this.href);return false;
http://synapse.ararat.cz/doku.php/publi ... tpdownload" onclick="window.open(this.href);return false;
http://wiki.lazarus.freepascal.org/Deve ... h_Graphics" onclick="window.open(this.href);return false;
Re: Bild von URL Laden und anzeigen
Hey Danke, der Link hat echt geholfen 

-
- Beiträge: 619
- Registriert: Mi 9. Mär 2011, 16:34
- OS, Lazarus, FPC: Ubuntu10.04 LTS (L 0.9.31.0 FPC 2.4.4)
- CPU-Target: 64Bit
- Wohnort: seit 01.06.2011 in Wahlstedt
Re: Bild von URL Laden und anzeigen
NUr beispiele für Lazarsu/fpc sind Mau.creed steiger hat geschrieben:Synapse ist exzellent dokumentiert:

Ubuntu 10.04 LTS ist meine Heimat. Lazarus ist meine Sprache
und der Kreis Segeberg meine LIEBE 

