Generiertes Bild in PictureBox aus dem Internet

  • .NET (FX) 4.5–4.8
  • VB.NET

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von tarkelasgang.

    Generiertes Bild in PictureBox aus dem Internet

    Hiho... Leute :)

    Ich habe folgendes Problem... :/
    Vielleicht kann mir einer hier erklären wie Ich es bewerkstelligen kann, ein Bild aus dem Internet, welches von einer Webseite (eingeloggter Zustand) geneiert wird, in die PictureBox einzutragen.

    Die URL sehe ungefähr so aus:

    Quellcode

    1. getCardImage?petafuel.token.name=cardImage.token&cardImage.token=********


    Über den Browser, "Bild Speichern unter..." bekomme Ich: "CardImage.png".
    Sprich es wäre hier also ein Bild vorhanden, jedoch kann Ich es mit der URL im eingeloggten Zustand nicht in die PictureBox eintragen.

    Kann mir einer sagen woran es liegen kann?

    Bild in PictureBox lade Ich so:

    Quellcode

    1. PB_CardPic.ImageLocation = MasterCard.Document.GetElementsByTagName("img").Item(20).GetAttribute("src")


    auch schon mit:

    Quellcode

    1. PB_CardPic.Image = System.Drawing.Image.FromFile(MasterCard.Document.GetElementsByTagName("img").Item(20).GetAttribute("src").ToString)


    Würde mich freuen wenn Mir hier einer dabei helfen kann/könnte... :)

    PS: Ich habe das Forum schon durchsucht, jedoch leider nichts finden können :/ :(


    Edit by Manschula: Thema verschoben

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Manschula“ ()

    Brauche mehr Info , Seite , Quelltext
    Scheint sich aber um das Thema (( Captcha in Picturebox )) zu handeln ...

    VB.NET-Quellcode

    1. For Each element As HtmlElement In wb.document.images
    2. If element.GetAttribute("src").Contains("???? captcha ????") Then
    3. pb.imagelocation = element.GetAttribute("src")
    4. Exit For
    5. End If
    6. Next

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „TVX“ ()

    Das ganze wäre ohne Webbrowser schöner lösbar, indem du einen Webrequest, Regex (zum Bildlink herausfiltern) und dann bei der Picturebox die Eigenschaft .ImageLocation benutzt. Damit wir dir aber überhaupt helfen können, müsstest du uns mehr Details nennen.
    Moderatorin: "Apropo ritzen.." Shin Chan: "hoho sie hat Po ritze gesagt"
    "saying to buy a mac because your anti-virus expired is like saying you're out of condoms so you're just going to go fuck dudes"
    "Wie auch in anderen Threads kann ich leider nichts bieten außer vielleicht spaß beim Skypen aber mehr leider auch nicht." - Sind kinder pornos nicht verboten?

    TVX schrieb:

    Brauche mehr Info , Seite , Quelltext
    Scheint sich aber um das Thema (( Captcha in Picturebox )) zu handeln ...

    VB.NET-Quellcode

    1. For Each element As HtmlElement In wb.document.images
    2. If element.GetAttribute("src").Contains("???? captcha ????") Then
    3. pb.imagelocation = element.GetAttribute("src")
    4. Exit For
    5. End If
    6. Next



    Falsch!
    Es handelt sich um kein Captcha :)
    Es geht um ein einfaches Bild welches automatisiert erstellt wird, wenn Ich jedoch den Link per URL-Aufrufe bekomm ich kein Bild sondern eine Weiße Seite.

    Glossy Cherry schrieb:

    Das ganze wäre ohne Webbrowser schöner lösbar, indem du einen Webrequest, Regex (zum Bildlink herausfiltern) und dann bei der Picturebox die Eigenschaft .ImageLocation benutzt. Damit wir dir aber überhaupt helfen können, müsstest du uns mehr Details nennen.


    Naja was soll Ich dir da noch geben?
    URl: global-mastercard.de/premium/v2/mainpage

    Weiß zwar nun nicht was dir das direkt bringt, aber da bitte ;)

    Ich schrieb ja das man Sich dafür einloggen muss, jedoch kann und werde Ich meine Daten nicht preis geben :)

    Hier der Quellcode:

    HTML-Quellcode

    1. <div class="titleBar">
    2. <div class="title">
    3. <img src="https://cdn.mastercard-prepaid.de/prepaidfrontends/style_res/globalmastercardpremium/img_main/common/ic_card.png" alt="Kartenansicht">
    4. Kartenansicht
    5. </div>
    6. <div class="arrow"></div>
    7. </div></a>
    8. <div class="roundedBox " id="cardView">
    9. Hier sehen Sie Ihre <b>Global MasterCard Premium </b> in Ihrem ausgewählten Design.
    10. <div id="carddataBG">
    11. <img src="https://www.global-mastercard.de/premium/v2/secure/getCardImage?petafuel.token.name=cardImage.token&amp;cardImage.token=**************" alt="Kartenbild">
    12. </div>
    13. <div class="infoTrigger" id="cardDetailInfo"></div>
    14. <p>Auf der Grafik sehen Sie alle wichtigen Daten wie <b>Kartennummer, <br>Prüfziffer und Gültigkeitsdatum.</b>


    Ich möchte lediglich:

    HTML-Quellcode

    1. <img src="https://www.global-mastercard.de/premium/v2/secure/getCardImage?petafuel.token.name=cardImage.token&amp;cardImage.token=**************" alt="Kartenbild">


    in die Picturebox anzeigen lassen, jedoch per URL kommt eine Weiße Seite :/
    Hä... das Versteh Ich nicht?! oO
    Ich sagte doch das man sich dafür einloggen muss :)

    Und da es Sich um eine SSL-Verbindung handelt wird das sicherlich schlecht bzw. schwer gehen :D

    URL: global-mastercard.de/premium/v2/mainpage

    Das ist die Erste Seite ^^

    PS: Das Pic sieht man nur wenn man ein ACC hat ^^
    Na ja ich hätte ja gern geholfen (( ABER )) !

    § 4 Registrierung, Zusicherungen bei der Registrierung
    4.1 Der Nutzer hat sich vor Inanspruchnahme der Dienste auf der
    GlobalMasterCardPremium-Website zu registrieren. Dazu sind alle
    Datenfelder des Registrierungsformulars vollständig und richtig
    auszufüllen.

    4.2 Mit der Registrierung und dem Absenden der Registrierungsdaten
    erfolgt eine verbindliche Bestellung. Die Höhe der Entgelte ergibt sich
    aus den Kartengebühren auf GlobalMasterCardPremium.de.

    ((( NEIN DANKE ))) !
    Ich sagte auch nicht das Ihr Euch oder Du Dich da registrieren musst/sollst ^^

    Mir geht es auch nicht um die Seite im Allgemeinen sondern NUR um das Bild :)
    Quellcode habe Ich oben angegeben, welchen man eben nur um Eingeloggten Zustand einsehen kann.

    Daher war die Frage, warum das Bild via URL nicht einsehbar ist, aber man das Bild runterladen kann... oO
    ich hätte ne idee,
    setzt einen globalen cookiecontainer für alle deine webrequests
    und dann lade das bild via dieser Funktion (siehe unten), in eine Picture Box

    hier sollte natürlich objwebClient.Cookie =deincookiecontainer nicht fehlen

    VB.NET-Quellcode

    1. Public Function LoadWebImageToPictureBox(ByVal pb _
    2. As PictureBox, ByVal ImageURL As String) As Boolean
    3. Dim objImage As MemoryStream
    4. Dim objwebClient As WebClient
    5. Dim sURL As String = Trim(ImageURL)
    6. Dim bAns As Boolean
    7. Try
    8. If Not sURL.ToLower().StartsWith("http://") Then
    9. sURL = "http://" & sURL
    10. End If
    11. objwebClient = New WebClient()
    12. objImage = New _
    13. MemoryStream(objwebClient.DownloadData(sURL))
    14. pb.Image = Image.FromStream(objImage)
    15. bAns = True
    16. Catch ex As Exception
    17. bAns = False
    18. End Try
    19. Return bAns
    20. End Function
    Meine Software findet ihr HIER, bin in Android und Windows entwicklung aktiv.

    Falls ihr meine begehrte Movie Box für Android haben wollt, diese findet ihr auch auf meiner Website oder hier direkt download.