AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Teil einer Webbrowser-Ansicht als JPG speichern

Ein Thema von idefix2 · begonnen am 8. Mai 2016 · letzter Beitrag vom 4. Jul 2016
Antwort Antwort
idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#1

Teil einer Webbrowser-Ansicht als JPG speichern

  Alt 8. Mai 2016, 16:35
Hallo,
ich möchte das Videobild einer Ediview Webcam, das in einem Browser angezeigt wird, periodisch abtasten und für weitere Auswertungen verwenden.
In einer TWebbrowser-Komponente das Live-Bild anzuzeigen ist kein Problem. Aber ich habe nicht herausgefunden, wie ich von dem Live-Bild Screenshots generieren kann.
Ich habe mir vorgestellt, dass das einfach über den Canvas des Webbrowsers gehen müsste, aber TWebbrowser hat eine solche Property anscheinend nicht, jedenfalls habe ich nichts gefunden.
  Mit Zitat antworten Zitat
Benutzerbild von milos
milos

Registriert seit: 14. Jul 2008
Ort: Bern (CH)
508 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Teil einer Webbrowser-Ansicht als JPG speichern

  Alt 8. Mai 2016, 17:04
Hi,

Um was für ein System handelt es sich denn? Wäre es nicht möglich das Bild über über HTTP runterzuladen ohne das über den TWebBrowser zu machen? Ein weiterer Tipp wäre das ganze Formular zu screenshotten und dan das Live-Bild mit ein wenig Mathematik auszuschneiden.

Freundliche Grüsse
Milos
  Mit Zitat antworten Zitat
idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#3

AW: Teil einer Webbrowser-Ansicht als JPG speichern

  Alt 8. Mai 2016, 18:15
Es handelt sich um ein bewegtes Live-Bild von der Kamera, das via active-x dargestellt wird. Ich glaube nicht, dass sich da eine Momentaufnahme über HTTP herunterladen lässt.

Aber ein Screenshot vom ganzen Formular, das müsste gehen. Wie ich dann den Bereich herausschneide, der mich interessiert, weiss ich zwar noch nicht, weil ich so etwas bis jetzt noch nie gebraucht habe, aber das wird wohl lösbar sein, danke für den Tipp
  Mit Zitat antworten Zitat
Benutzerbild von milos
milos

Registriert seit: 14. Jul 2008
Ort: Bern (CH)
508 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Teil einer Webbrowser-Ansicht als JPG speichern

  Alt 8. Mai 2016, 18:49
Mit MSDN-Library durchsuchenBitBlt kannst du mit einer Zeile direkt einen Ausschnitt von deinem Form-Handle auf ein Bitmap ziechnen.
Dazu musst du im letzten Parameter der Funktion SRCCOPY übergeben.

Edit:
Hier ein paar mehr infos ^^

MSDN Link mit allen Parametern

Delphi-Quellcode:
BOOL BitBlt(
  _In_ HDC hdcDest, // Handle auf welchem der Ausschnitt gezeichnet werden soll
  _In_ int nXDest, // Start X-Koordinate auf dem End Bild (Wird wahrscheinlich 0 sein)
  _In_ int nYDest, // Hier das selbe
  _In_ int nWidth, // Breite des Ausschnitts
  _In_ int nHeight, // Höhe des Ausschnitts
  _In_ HDC hdcSrc, // Handle deines Formulars (self.Canvas.Handle)
  _In_ int nXSrc, // Start X-Koordinate vom Ausschnitt auf deinem Formular
  _In_ int nYSrc, // Das selbe für Y
  _In_ DWORD dwRop // "SRCCOPY"
);
Milos

Geändert von milos ( 8. Mai 2016 um 18:54 Uhr)
  Mit Zitat antworten Zitat
idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#5

AW: Teil einer Webbrowser-Ansicht als JPG speichern

  Alt 8. Mai 2016, 19:58
Vielen Dank, so funktioniert es tatsächlich wunderbar und denkbar einfach
  Mit Zitat antworten Zitat
idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#6

AW: Teil einer Webbrowser-Ansicht als JPG speichern

  Alt 25. Mai 2016, 11:32
Hallo,

leider gibt es jetzt doch noch ein Problem.
Ich war der Meinung, dass der Canvas ein "virtuelles" Zeichenbrett ist, auf dem die Komponente dargestellt wird. Offensichtlich ist dem aber nicht so, sondern der Canvas entspricht dem, was am Bildschirm aktuell dargestellt wird. Wird ein Teil meines Formlars von einem anderen Programm überdeckt, dann kopiert BitBlt nicht den "virtuellen" Inhalt meines Formulars, sondern das, was gerade am Bildschirm an der Stelle im Vordergrund angezeigt wird.

Gibt es eine Möglichkeit, auf das Bild zuzugreifen, das meine Form anzeigen würde, wenn sie im Vordergrund wäre? Wenn nicht, ist das sehr lästig, weil dann muss das Programm ja ständig im Vordergrund laufen.

Geändert von idefix2 (25. Mai 2016 um 11:35 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:39 Uhr.
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