Benutzer mit den meisten Antworten
WebBrowser

Frage
-
Hallo Leute,
ich möchte ein einzelnes Bild von einer Homepage in einer Picturebox oder einem System.Windows.Forms.WebBrowser anzeigen.
Die Homepage (speziell angepasst) liefert mir den HTML-Quellcode mit nur einem Bild. (siehe unterhalb)
Jetzt habe ich 2 Möglichkeiten:
1) mittels Stringfunktionen die src=https://...xyz.jpg herauszuholen und mittels WebClient.DownloadData das Bild in einen Stream zu laden und danach in einer Picturebox anzeigen.
Nachteil dabei ist, dass es zwar funktioniert aber extrem "unsauber" programmiert ist.2) ich weise die Url gleich einem WebBrowser-Control zu
Der Nachteil dabei ist, dass ich es nicht schaffe das Bild auf die Größe des WebBrowsers angepasst darzustellen (wie zB. mittels StrechImage einer Picturebox).Wie gehe ich dabei am Besten vor?
<div class="ImageTest"> <img src="https://****.****.at/****/images/xyz.jpg" alt="trrffgjjhg" title="kkkkkkkkk"/> </div>
Vielen Dank im Voraus
Christian Tauschek
- Bearbeitet Christian Tauschek Samstag, 20. Mai 2017 00:16
Antworten
-
Hallo Christian.
wenn die Homepage speziell für dich angepasst wurde, kann man doch evtl. auch gleich was anderes machen, nämlich einen kleinen Webservice, der dir die Daten in einer automatisert verarbeitbaren Form zurückgibt.
Falls das nicht geht, würde ich dennoch Variante 1 vorziehen, da das doch erheblich weniger Overhead ist als ein komplettes WebBrowser Control inkl. Laden und Anzeigen einer vollständigen Website, ... zu integrieren.
Poste doch mal den Code, mit dem Du das Bild suchst und lädst. Evtl. kann man da noch was optimieren (RegEx, ggfs. auch das HtmlAgilityPack, wenn es nicht nur ein Bild sein soll, ...)
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort markiert Christian Tauschek Donnerstag, 25. Mai 2017 20:47
-
Hallo
alternativ, wenn der Erzeuger der Website für dich einen speziellen Kommentar einfügt, z.B.:
<!-- MySpecialKey=(delimiter)hier_steht_die_Image_Url(delimiter) -->
kannst du eigentlich sehr simpel die Url extrahieren (Split()) und z.B. mit einem WebClient die (Bild)Datei herunterladen und dann damit machen, was gewünscht wird.
Gruß
- Als Antwort markiert Christian Tauschek Donnerstag, 25. Mai 2017 20:42
Alle Antworten
-
Hallo Christian.
wenn die Homepage speziell für dich angepasst wurde, kann man doch evtl. auch gleich was anderes machen, nämlich einen kleinen Webservice, der dir die Daten in einer automatisert verarbeitbaren Form zurückgibt.
Falls das nicht geht, würde ich dennoch Variante 1 vorziehen, da das doch erheblich weniger Overhead ist als ein komplettes WebBrowser Control inkl. Laden und Anzeigen einer vollständigen Website, ... zu integrieren.
Poste doch mal den Code, mit dem Du das Bild suchst und lädst. Evtl. kann man da noch was optimieren (RegEx, ggfs. auch das HtmlAgilityPack, wenn es nicht nur ein Bild sein soll, ...)
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort markiert Christian Tauschek Donnerstag, 25. Mai 2017 20:47
-
Hallo
alternativ, wenn der Erzeuger der Website für dich einen speziellen Kommentar einfügt, z.B.:
<!-- MySpecialKey=(delimiter)hier_steht_die_Image_Url(delimiter) -->
kannst du eigentlich sehr simpel die Url extrahieren (Split()) und z.B. mit einem WebClient die (Bild)Datei herunterladen und dann damit machen, was gewünscht wird.
Gruß
- Als Antwort markiert Christian Tauschek Donnerstag, 25. Mai 2017 20:42
-
Hallo Stefan, ich verwende das Webbrowsercontrol und weise diesem die URL zu. Im Document_Completed Event durchlaufe ich dessen Images und weise dessen "src" einer Picturebox.Imagelocation zu. Das Ganze funktioniert ganz gut und auch asynchron. MfG Christian
Christian Tauschek