Obrazek - Inna metoda pobrania obrazka
Witam
Mam drobny problem z pobraniem obrazka – wykresu z strony NBP. Do tej pory mój program korzystał z tej metody pobierania obrazka ze strony www:
[code]
WebClient PobierzObraz;
Stream odczytWykresu;
Bitmap obrazekEuro;
PobierzObraz = new WebClient();
try
{
// Dla wykresu EURO
odczytWykresu = PobierzObraz.OpenRead("http://www.nbp.pl/wykresy.aspx?cc=EUR&dt=2012-10-23");
obrazekEuro = new Bitmap(odczytWykresu);
pictureBoxEuro.Image = obrazekEuro;
}
catch (Exception)
{
MessageBox.Show("Brak połączenia z Internetem", "Wykresy Notowań", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
[/code]
Wszystko działało poprawnie dopóki nie zmienił się adres obrazka.
Ostatnio był pod tym adresem: http://www.nbp.pl/wykresy.aspx?cc=EUR&dt=2012-10-17
a teraz jest po tym adresem : http://www.nbp.pl/wykresy.aspx?cc=EUR&dt=2012-10-23
Próbowałem inną metodą pobrać obrazk , ale nic nie wychodziło.
Chodzi mi o to, aby nie wklejać co miesiąc do programu nowego adresu wybranego obrazka.
Z góry dziękuję za pomoc.
Odpowiedzi: 4
Witam
Temat można zamknąć.
Pozdrawiam
Witam
Z przykrością musze powiedzieć, że utknąłem w miejscu. Program się uruchamia, łączy z internetem, pobiera dane, ale jak na razie nie mogę wyświetlić tego obrazka w pictureBoxObrazek.
Szukałem w dokumentacji MSDN podobnego przykładu, ale nic nie znalazłem, a moje dotychczasowe próby nie przyniosły oczekiwanego rezultatu.
Mógłby mi ktoś podpowiedzieć jak to rozwiązać.
Z góry dziękuję.
Witam
Próbuje dopasować twój kod do mojego, ale nie działa cały czas wyskakuje błąd.
Problem jest w tym, że nie mogę teraz wyświetlić wykresu w pictureBoxObrazek.
Poniżej zamieszczam kod obsługi przycisku.
Z góry dziękuję
[code]
private void buttonPobierz_Click(object sender, EventArgs e)
{
WebBrowser browser = new WebBrowser();
browser.DocumentCompleted += new
WebBrowserDocumentCompletedEventHandler(browser_DocumentCompleted);
browser.Navigate("http://www.nbp.pl/home.aspx?navid=wykresy&c=/ascx/wykresy.ascx&cc=EUR");
/*
* Ten mój kod, który próbuje dopasować nie działa
*/
//Stream odczytWykresu;
//Bitmap obrazekEuro;
//odczytWykresu - tu będzie problem z przypisaniem browswera,w moim kodzie przypisywałem odczyt z WebClient
//obrazekEuro = new Bitmap(odczytWykresu);
//pictureBoxObrazek.Image = obrazekEuro;
}//Koniec obsługi przycisku
[/code]
[code]
private void browser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
WebBrowser browser = (WebBrowser)sender;
List imgListString = new List();
if (browser != null)
{
if (browser.Document != null)
{
HtmlElementCollection collection = browser.Document.GetElementsByTagName("img");
if (collection != null)
{
foreach (HtmlElement element in collection)
{
WebClient wClient = new WebClient();
string urlDownload = element.GetAttribute("src");
if (urlDownload.Contains("wykresy.aspx?cc=EUR&dt="))
{
try
{
wClient.DownloadFile(urlDownload, "xx.jpg");
}
catch (Exception x)
{
MessageBox.Show(x.ToString());
}
}
}
}
}
}
}
private void button3_Click(object sender, EventArgs e)
{
WebBrowser browser = new WebBrowser();
browser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(browser_DocumentCompleted);
browser.Navigate("http://www.nbp.pl/home.aspx?navid=wykresy&c=/ascx/wykresy.ascx&cc=EUR");
}
[/code]
Strona 1 / 1