Bild in String-Form in Picturebox anzeigen lassen?

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von FroschFuchs.

    Bild in String-Form in Picturebox anzeigen lassen?

    Hallo.
    Ich habe ein kleines Problem.

    Also im Prinzip muss ich ein Bild von einer URL laden und in einer Picturebox anzeigen lassen.
    Normalerweise mache ich das ganz simpel per PictureBox.ImageLocation.
    Allerdings handelt sich bei diesem Bild um ein PHP-Captcha, d.h. die richtige Lösung des Captchas wird in die PHP Session geschrieben.
    Dafür wiederum brauche ich Cookies damit ich die Session speichern kann.

    Also lade ich das Bild per HTTPWebrequest, damit auch die Cookies gespeichert werden.

    Daraus folgt dann das PNG Bild in Form so eines Strings:

    Quellcode

    1. ‰PNG IHDR – 2 1îµM IDATxœ…|y|Tõ¹þ9sfß÷%™LV2IÈÂN DvPDÔ´.ÕÒZ«½z­(ÕÒ[ì¥j[WT®ˆ€€| k$d#{2ÉÌdö}æÌ™9ç÷ÇSç—Þåû‡†™Éäœïò¾Ïó¼Ï{È`0(•JS©I’N§“¢(Š¢H’Éd2|>_*•šL&çp8\.ŸÏokkÛ·oŸÃáX¾|ùSO=‹Åø|~8V(r¹œã¸D"1>>®Óé
    2. EQ|>?‹9Îl6+R©”Åb‹Åøð_|!‰¦M›6}úôL&‰D._¾|àÀ¬[·Ž¦écÇŽÍ›7O­V{<žd2Éq\~~~ `¦­­­¡¡A¡P0“H$´ZmSS˲.ŒÅbz½>¦ÓiF“H$b±I’|>ßï÷K¥R‘HIJ,A<O d2™@ €O2#“É2™ŒÕj%‚ã8‚ âñ8Ã0*•*“ÉP•N§S©”R©T(^¯w`` ³³Óår­^½º¶¶öÒ¥K½½½~¿ÕªU‹…eY¯×k0X–Íf³Ã„B!Š¢‚Á Ëåš7ožÑh…B¡$I’$‚H&“‘HS‡u:Éd"IòÙgŸ­¯¯_¸p¡R©¤išŒF£$I…Â@ •J)Š"‚¦iÃá0˲:WÉdhš‹ÅE«TªH$B’¤Ûíöz½555"‘( ......



    Nun die Frage:
    Wie kriege ich diesen String "umgewandelt" und in der Box angezeigt?
    Ich kann den Link als "Textdatei" abspeichern und dann in der Box laden, das funktioniert.
    Allerdings will ich keine extra Datei dafür anlegen müssen.
    Geht es nicht irgendwie anders?

    jvbsl schrieb:

    einfach den Stream nicht in einen String umwandeln, sondern so lassen und anschließend mit Image.FromStream in ein Bild umwandeln...
    Hmm klingt logisch, aber wenn ich es so versuche, kriege ich eine WebException: Die Anfrage wurde abgebrochen: Die Verbindung wurde unerwartet getrennt..

    Was kann man da machen?

    EDIT:
    Sorry lag an meinem Code.
    Klappt prima.
    Danke. :)