» »

[c#] Slika iz URL

[c#] Slika iz URL

tx-z ::

Iz spletne strani poberem neko sliko, ki jo prikažem v formi. Sedaj pa hočem da mi jo vsakih recimo 60 sekund na novo pobere in refresha sliko. To sm naredil s timerjem ampak mi javi error.
    public partial class Form1 : Form
    {
        public Uri imageUrl = new Uri("http://test.com/slika.jpg");

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            WebClient wc = new WebClient();
            wc.DownloadFile(imageUrl, "slika.jpg");
            pictureBox1.Image = new Bitmap("slika.jpg");
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            WebClient wc = new WebClient();
            wc.DownloadFile(imageUrl, "slika.jpg");
            pictureBox1.Image = new Bitmap("slika.jpg");
        }

    }


Javi mi pa napako An exception occurred during a WebClient request.
ob prvem klicanju v timer1_Tick "wc.DownloadFile(imageUrl, "gold_stat_euro.png");"

A kdo ve kako bi to odpravil? Predvidevam da če enkrat odpreš sliko, ne moreš več na novo pisat v njo (torej da bi znova pobral v isti fajl)
tx-z
  • spremenilo: tx-z ()

Looooooka ::

jup.problem je ker je ze nalozena v picturebox in je in use.
ce hoces samo prikazovati sliko je sploh ne rabis shranjevat na disk.


        [DebuggerNonUserCode]
        private void timer1_Tick(object sender, EventArgs e)
        {
            try
            {
                //using...da se zadeva lepo disposa
                using (WebClient wc = new WebClient())
                {
                    byte[] picbytes = wc.DownloadData(imageUrl);
                    //using...isti razlog kot zgoraj :)
                    using (System.IO.MemoryStream ms =new System.IO.MemoryStream(picbytes))
                    {
   //tle pa ne...ker picturebox rabi bitmap :)
                            pictureBox1.Image = new Bitmap(ms);
                    }
                }
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.Print(ex.Message);
            }
        }

tx-z ::

Aha, hvala:) Tale način bo bolši ja :D

Drgač pa, a slučajn kdo ve kako narest da bo program deloval tut če nimaš Visual Studia na kompu? Na Win7 se sploh ne zažene, na enih starejših winsih pa piše da morm inštalirat nek .net framework al kakroli že...?
tx-z

Gregor Spagn ::

tx-z je izjavil:

Aha, hvala:) Tale način bo bolši ja :D

Drgač pa, a slučajn kdo ve kako narest da bo program deloval tut če nimaš Visual Studia na kompu? Na Win7 se sploh ne zažene, na enih starejših winsih pa piše da morm inštalirat nek .net framework al kakroli že...?


Če imaš inštaliran pravi .NET framework dela povsod razen če maš kakšne posebne knjižnice poglej z katerim frameworkom delaš v VS in potem inštalliraj tistega na ostalih kištah kjer želiš tvoj program uporabljat lahko inštaliraš verzijo redistributable

.NET Framework 4

tx-z ::

A drgač se pa ne da? S kerimi programi se pa recimo pol dela programe za Win XP, da ne rabš met še tega zravn?
tx-z

Gregor Spagn ::

tx-z je izjavil:

A drgač se pa ne da? S kerimi programi se pa recimo pol dela programe za Win XP, da ne rabš met še tega zravn?

c++, java... samo povsod boš mogu kaj inštalirat drugače pa naštimi na .NET Framework 2 in ga ima vsak XP že po defaultu se mi zdi

Ericssony ::

Pri Javi tudi rabiš JRE.

_Dejan_ ::

Pomoje c++ ali delphi
ASUS P5E3, INTEL Q6600(3000Mhz 333x9), ATI HD 2600XT,
A-Data 4x2GB PC3-10700H(9-9-9-24-2T),LSI 9260-8i,
4x OCZ Vertex Turbo 30GB(RAID10), 3x1TB (RAID1+Spare)

nuclear ::

Samo naloži .NeT framework, sj to je 10 minut dela.
Corsair 750D - VI Hero - i5 4670k - Corsair Dominator 32GB - 1080Ti - EVO 500GB
- Sabrent 1TB nVME - Corsair AX860i - Ducky Shine 3 Brown

Isotropic ::

tx-z je izjavil:

Aha, hvala:) Tale način bo bolši ja :D

Drgač pa, a slučajn kdo ve kako narest da bo program deloval tut če nimaš Visual Studia na kompu? Na Win7 se sploh ne zažene, na enih starejših winsih pa piše da morm inštalirat nek .net framework al kakroli že...?

hahaha ti si na fri?:D

MrBrdo ::

Splača se uporabljat .NET v2 ker tega ima pa res že skoraj vsak inštaliranega (v nastavitvah projekta se izbere, se pa izgubi določene funkcionalnosti iz novejših verzij). Ne splača se zaradi tega uporabljat C++, da ne boš mel dependecyja... Preveč pridobiš z .NET.
PS: Buildaj Release verzijo in ne Debug, zna bit da debug rabi kakšne razvijalske knjižnice, ki pa jih res nihče brez Visual Studia ne bo imel.
MrBrdo

Ericssony ::

Vedno se sprača uporabljati najnovejšo verzijo, torej 4. Pridobiš dodatne funkcionalnosti in preprostejšo namestitev (48 MB vs. 231 MB - 3.5SP1).

Kako je lahko aplikacija (v katerem koli build načinu) odvisna od "razvijalskih knjižnic" Visual Studia? Potemtakem projekta ne moreš urejati recimo v SharpDevelop-u ali MonoDevelop-u.

S privzetimi nastavitvami je razlika med debug in release načinom naslednja:
- debug: brez optimizacije in dodatne simbolične informacije,
- release: popolna optimizacija in brez simboličnih informacij.

Gregor Spagn ::

Ericssony je izjavil:


Kako je lahko aplikacija (v katerem koli build načinu) odvisna od "razvijalskih knjižnic" Visual Studia? Potemtakem projekta ne moreš urejati recimo v SharpDevelop-u ali MonoDevelop-u.


ne zastopim točno tega :)

darkolord ::

Hotel je povedati, da če imaš na Debug, ne potrebuješ nobenih razvijalskih knjižnic iz Visual Studia.

Blinder ::

Kako bi se v javi ali C# naredilo program, ki gre na url in shrani na disk vse slike, ki jih najde?
99.991% of over-25 population has tried kissing.
If you're one of the 0.009% who hasn't, copy & paste this in your Signature.
Intel i3-12100f gtx 1080 Pismo smo stari v bozjo mater. Recesija generacija

darkolord ::

Downloadaš stran na urlju z WebClient (C#), uporabiš HTML Agility Pack za sparsat HTML, notri poiščeš vse slike (npr. vse <img> tage ali kar pač želiš) in vsako posebej downloadaš.

MrBrdo ::

Ericssony je izjavil:

S privzetimi nastavitvami je razlika med debug in release načinom naslednja:
- debug: brez optimizacije in dodatne simbolične informacije,
- release: popolna optimizacija in brez simboličnih informacij.

Sej pravim, za .NET nisem ziher, pri C++ programih ima Debug build v VS dependency na nekatere debug dll-je runtime libraryjov (npr. msvcr80d.dll namesto msvcr80.dll), ki jih ljudje brez Visual Studia ponavadi nimajo nameščenih. Ne vem pa če je tudi pri .NETu podobno, ampak škodit ne more, če daš ljudem raje Release build, kajne? ;)
MrBrdo

Zgodovina sprememb…

  • spremenilo: MrBrdo ()


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

ASP.NET + C# vprašanje

Oddelek: Programiranje
342646 (1660) Morenov
»

parsanje podatkov iz strani

Oddelek: Programiranje
131856 (1651) commissar
»

aspx preberm HTML strani

Oddelek: Programiranje
111363 (1227) Senzacionale
»

[C#] Prosim pomagajte! Potrebujem program, ki bi pobiral podatke iz ene strani

Oddelek: Programiranje
212568 (2178) David1994
»

C#; WebClient class; problem z uploadanjem

Oddelek: Programiranje
51365 (1324) 64202

Več podobnih tem