Zum Inhalt springen

Dynamisches Bild aus dem Internet auf der GUI


Majestix

Empfohlene Beiträge

hi jungs, ich schreibe mir grade ein programm, auf dem ein bild aus dem internet angezeigt werden soll. dieses bild verändert sich aber alle 15minuten im netz, und soll dann auch alle 15min auf meiner gui neu geladen werden.

ich habe bereits versucht eine picturebox mit der url zuverlinken, aber dann läd er sich das bild auf den pc und bezieht sich darauf.

das bild soll aber eigentlich genau das zeigen was auch grade im netz ist.

(das bild soll direkt in der gui angezeigt werden! ohne link etc.. )

danke vorab

gruß majestix

Link zu diesem Kommentar
Auf anderen Seiten teilen

schau dir mal die Klasse HttpWebRequest an.

Dort kannst du ein WebRequest machen, und anhand des Response-Streams kannst du dann ein Image-Object erstellen und an deine Picture-Box übergeben.

Wenn du irgendwo nicht wieter kommst einfach fragen ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

hmm also sagen wir ich möchte dieses bild anzeigen:

http://www.wetteronline.de/startseite/includes/operationell/grafiken/wetter_aktuell_DL.gif

geht das dann in etwa so ?


  Dim myWebRequest As WebRequest = WebRequest.Create("http://www.wetteronline.de/startseite/includes/operationell/grafiken/wetter_aktuell_DL.gif")

    Dim myWebResponse As WebResponse = myWebRequest.GetResponse()

    Dim myReceiveStream As Stream = myWebResponse.GetResponseStream()

und aus dem stream bekomme ich das .gif ? schnall das nicht ganz ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hoffe du kannst mit C# was anfangen ;)

Naja so:


        WebRequest m_req = null;

        public Form1()

        {

            InitializeComponent();

        }


        private void button1_Click(object sender, EventArgs e)

        {

            try

            {

                m_req = WebRequest.Create(textBox1.Text);

                m_req.BeginGetResponse(new AsyncCallback(OnResponse), null);

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.ToString(), ex.Message, MessageBoxButtons.OK, MessageBoxIcon.Error);

            }

        }


        private void OnResponse(IAsyncResult res)

        {

            WebResponse response = m_req.GetResponse();


            Image img = Image.FromStream(response.GetResponseStream());


            pictureBox1.Image = img;

        }

Link zu diesem Kommentar
Auf anderen Seiten teilen

hi, nun habe ich folgendes:


  Dim myWebReq As WebRequest = WebRequest.Create("http://www.blaal.de/bla.gig")

    Dim myWebResp As WebResponse = myWebReq.GetResponse()

    Dim sr As New StreamReader(myWebResp.GetResponseStream)


  Public Sub OnResponse(ByVal res As IAsyncResult)

        Dim img As Image

        myWebResp = myWebReq.GetResponse()

        img = Image.FromStream(myWebResp.GetResponseStream())

        picTest.Image = img

    End Sub


 myWebReq.BeginGetResponse(New AsyncCallback(OnResponse), null)


die zeile myWebReq.BeginGetResponse(New AsyncCallback(OnResponse), null) mag er nicht, er bringt mir folgende meldung:

Sytem.AsyncCallback' is a delegate type. Delegate construction permits only a single Adress of expression as an

argument list. Often an AdressOF expression can be used instead of a delegate construcion

ich habe es noch auf die art versucht:

Dim remoteUri As String = "http://www.blaaa/blaa.gif"

Dim vWetterpic As String = "wetter.gif"

Dim client As New WebClient

client.DownloadFile(remoteUri, vWindowsDir & "\" & vWetterpic)

picTest.Image = System.Drawing.Image.FromFile(vWindowsDir & "\" & vWetterpic)

aber da bringt er mir eine proxy meldung.. kann das daran liegen, das ich hier in der firma ein proxy benutze? und zuhause müsste das dann gehen? warum übernimmt er nicht einfach die normalen einstellungen ?

Edit:

ich halte bei der stelle:

Dim myWebResp As WebResponse = myWebReq.GetResponse()

die meldung "The remote server returned an error: (407) Proxy Authenticatio Required"

Link zu diesem Kommentar
Auf anderen Seiten teilen

ich habs hinbekommen mit:


 Public Sub OnResponse()


        ' Obtain the Proxy Prperty of the  Default browser. 

        myProxy = CType(myWebReq.Proxy, WebProxy)


        ' Create a new Uri object.

        Dim newUri As New Uri("http:\\www.poxy...:8080")


        ' Associate the new Uri object to the myProxy object.

        myProxy.Address = newUri


        ' Create a NetworkCredential object and is assign to the Credentials property of the Proxy object.

        myProxy.Credentials = New NetworkCredential("test1", "test1")

        myWebReq.Proxy = myProxy


        Dim myWebResp As WebResponse = myWebReq.GetResponse()

        Dim sr As New StreamReader(myWebResp.GetResponseStream)

        Dim img As Image

        myWebResp = myWebReq.GetResponse()

        img = Image.FromStream(myWebResp.GetResponseStream())

        picTest.Image = img

    End Sub

danke für die hilfe !!!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...