Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Teil einer Webbrowser-Ansicht als JPG speichern (https://www.delphipraxis.net/189138-teil-einer-webbrowser-ansicht-als-jpg-speichern.html)

milos 9. Jun 2016 09:51

AW: Teil einer Webbrowser-Ansicht als JPG speichern
 
Ich habe den Code gerade nur schnell überflogen und kann ihn mir erst gegen Abend genauer ansehen aber es sieht ganz danach aus als würde das Script sich das Live Bild über ein HTTP Request von einem ASP.NET (?) script holen. Leider funktioniert das bei mir natürlich nicht sodass ich so auf die schnelle auch nicht viel testen kann, aber versuche mal die ressourcen nach dem Live Bild abzusuchen. Ausserdem sehe ich das in der Tat ActiveX im Spiel ist, jedoch wird das Objekt "htmlfile", also vermutlich nichts mit dem holen der Bilder zu tun hat.

Um welches Modell handelt es sich?
Ich hab hier vielleicht DIE Lösung für dich ;)
https://www.ispyconnect.com/man.aspx?n=Edimax#

Da kannst du vielleicht die URL generieren lassen die dein Modell von Edimax zum übertragen der Bilder benötigt. Es könnte eine mit "Snapshot.jpg" sein mit dem Benutzernamen und Passwort so wie ich das im Source Code überflogen habe. Versuchs mal, bin gespannt ob es klappt :)

Freundliche Grüsse

Edit: Könnte auch snapshot.cgi sein.

idefix2 11. Jun 2016 14:33

AW: Teil einer Webbrowser-Ansicht als JPG speichern
 
Der Anwender hat sich jetzt in den Urlaub verabschiedet, blöderweise habe ich bis zu seiner Rückkehr keinen Zugriff mehr auf seine Kamera. Aus irgendeinem Grund funktioniert auch die Kameraverbindug zur Cloud nicht (viel ist da in der Kamera nicht zu konfigurieren und das ist sicher richtig), ich bekomme zwar das Bild über die lokale IP-Adresse, aber wenn ich im Browser die Cloud-Adresse eingebe, zeigt er an: connecting to Camera, d.h. der Browser findet die Kamera an der Adresse (sonst kommt eine andere Fehlermeldung) und bleibt dann hängen. Habe es mit verschiedenen Browsern probiert, es ist überall das gleiche.

Wenn er zurückkommt, wird der Kunde mir sagen, ob er überhaupt gewillt ist, noch etwas in eine grössere Stabilität des Systems zu investieren, oder ob es ihm so genügt, wie es jetzt läuft - mit ca. einem Absturz des Javascripts jeden zweiten Tag.

Zitat:

Zitat von milos (Beitrag 1339816)
Um welches Modell handelt es sich?
Ich hab hier vielleicht DIE Lösung für dich ;)
https://www.ispyconnect.com/man.aspx?n=Edimax#

Wenn ich das richtig verstehe, würde ich so direkt zu einem JPG-Bid statt des bewegten Bildes kommen. Wenn das funktioniert, dann wäre das eine sehr einfache Lösung. Kann aber auch das erst ausprobieren, wenn er aus dem Urlaub zurück ist.

Einstweilen danke für die HIlfe bis hierher :)

DelphiFan2008 13. Jun 2016 22:10

AW: Teil einer Webbrowser-Ansicht als JPG speichern
 
Hallo,

habe diese Variante in einem eigenen Programm verwendet um ein Bitmap aus WebBrowser zu erzeugen

Delphi-Quellcode:
procedure WebBrowserScreenShot( const wb:TWebBrowser; Bitmap:TBitmap );
var viewObject : IViewObject;
    r         : TRect;
begin
  if wb.Document <> nil then
  begin
    wb.Document.QueryInterface( IViewObject,viewObject );
    if Assigned( viewObject )then
    try
      r := Rect( 0,0,wb.Width,wb.Height );

      Bitmap.Height := wb.Height;
      Bitmap.Width := wb.Width;

      viewObject.Draw( DVASPECT_CONTENT,1,nil,nil,Application.Handle,Bitmap.Canvas.Handle,@r,nil,nil,0 );

    finally
      viewObject._Release;
    end;
  end;
end;

idefix2 3. Jul 2016 14:20

AW: Teil einer Webbrowser-Ansicht als JPG speichern
 
Das ist tatsächlich die Lösung!

Der Kunde ist wieder zurück. Ich habe auf der verlinkten Seite den richtigen Kameratyp gefunden und steuere die Kamera jetzt direkt ohne das instabile Javascript an, um statt eines Videostreams nur eine Momentaufnahme abzurufen. Das funktioniert problemlos, und ich gehe davon aus, dass das auch sonst stabil sein wird.

Vielen Dank, auch an Delphifan, auch wenn ich das jetzt nicht mehr brauchen werde.

P.S. Weil ich es wissen wollte, habe ich noch einmal die komplette, gar nicht so dünne Dokumentation der Kamera gecheckt. Nirgends findet sich der leiseste Hinweis auf diese Köglichkeit, ein Standbild aufzurufen. :twisted:

himitsu 4. Jul 2016 09:48

AW: Teil einer Webbrowser-Ansicht als JPG speichern
 
Zitat:

Zitat von idefix2 (Beitrag 1341836)
P.S. Weil ich es wissen wollte, habe ich noch einmal die komplette, gar nicht so dünne Dokumentation der Kamera gecheckt. Nirgends findet sich der leiseste Hinweis auf diese Köglichkeit, ein Standbild aufzurufen. :twisted:

Das stimmt so nicht ganz.
Laut Webseite unterstützen deren Kameras H.264 und MJPEG.

Und MJPEG (Motion-JPEG) besteht aus vielen "einzelnen" hintereinander liegendenden JPEGs, also ganz vielen Standbildern. :angle:
Also im Prinzip kann man den MJPEG-Stream abfragen und hört einfach nach dem ersten Bild/Frame auf zu lesen.

idefix2 4. Jul 2016 15:58

AW: Teil einer Webbrowser-Ansicht als JPG speichern
 
Dass man mit entsprechendem Aufwand m Prinzip alles mögliche kann, ist unbestritten. Aber einen Hinweis darauf, dass es eine URL gibt (und wie die URL aussieht), die ohne weitere Kopfstände direkt ein JPG im Browser anzeigt, ist der Dokumentation zur Kamera nicht zu entnehmen. Möglich, dass Hinweise irgendwo auf der Website von Edikom versteckt sind, aber normalerweise sollte man erwarten, dass so etwas in der Dokumentation steht, wenn die Kamera es kann - vor allem, wenn die Dokumentation ein gut 30-seitiges Heftchen ist, in der sonst alles rund um die Konfiguration der Kamera minutiös beschrieben wird.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:44 Uhr.
Seite 3 von 3     123   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz