Jak sprawdzic lokalizacje zdjecia w picturebox

0

Otoz mam zaladowane zdjecie do picturebox

pictureBox.Image = Image.FromFile(@"gfx\120.jpg");

I nie mam zielonego pojecia jak pobrac sciezke z tego pictureboxa. Nie interesuje mnie opcja zeby zapisac dana sciezke do jakiegos stringa.
Probowalem i albo dostaje pusta odpowiedz lub "System.Drawing.Bitmap". Ma ktos ciekawe rozwiazanie ?

0

PictureBox.ImageLocation – zobacz na to.

0

Probowalem juz imageLocation i daje mi wynik System.drawing.image....

if(i==9& j==9)
                    {
                        pictureBox.Image = Image.FromFile(@"gfx\120.jpg");
                    }
                    else
                    {
                        pictureBox.Image = Image.FromFile(@"gfx\b.jpg");
                    }                   
                    pictureBox.Click += new EventHandler(picture_Click);
                    panel1.Controls.Add(pictureBox);
                    //panel3.Controls.Add(pictureBox);
                    //panel4.Controls.Add(pictureBox);
                    Console.WriteLine("ok");
                    MessageBox.Show(pictureBox.ImageLocation);

Hmm dlaczego nawet w takim momencie jak chce sprawdzic lokalizacje to dostaje nic

0
onizuka napisał(a):

Hmm dlaczego nawet w takim momencie jak chce sprawdzic lokalizacje to dostaje nic

Bo Image.FromFile nie modyfikuje PictureBox.ImageLocation. W doksach napisali, że Load go ustawia.

Zobacz jeszcze na to – Differences PictureBox.ImageLocation and Image.FromFile.

0

Sprobowalem dac new Bitmap i dalej to samo pusto.

private void button1_Click(object sender, EventArgs e)
        {
           //  pname.ForEach(delegate (String name)
            //  {
              //    Console.WriteLine(name);
              // });
            x = Int32.Parse(textBox1.Text);
            y = Int32.Parse(textBox2.Text);
            z = Int32.Parse(domainUpDown1.Text);
            map = new PictureBox[x, y];
            for (int i=0;i<x;i++)
            {
                for(int j=0;j<y;j++)
                {
                    PictureBox pictureBox = new PictureBox();
                    map[i, j] = pictureBox;
                    pictureBox.Width = 32;
                    pictureBox.Height = 32;
                    pictureBox.Left = i*32;
                    pictureBox.Top =  j*32;
                    if(i==9& j==9)
                    {
                        pictureBox.Image = new Bitmap(@"gfx\120.jpg");
                    }
                    else
                    {
                        pictureBox.Image = Image.FromFile(@"gfx\b.jpg");
                    }                   
                    pictureBox.Click += new EventHandler(picture_Click);
                    panel1.Controls.Add(pictureBox);
                    Console.WriteLine("ok");
                    MessageBox.Show(pictureBox.ImageLocation);
                }
            }

        }

Juz nie mam pomyslow jak to rozwiac. Bo mam duzo picturebox w panelu i chce zapisac ich lokalizacje ale niestety nie udaje mi sie. Jest tu blad jakis ? Ze nie moge tej sciezki pobrac ?

Tak samo tutaj nie dziala

private void picture_Click(object sender, EventArgs e)
        {
            PictureBox pictureBox = (PictureBox)sender;         
            foreach (ListViewItem itm in listView1.SelectedItems)
            {
                pictureBox.Image=Image.FromFile(@"gfx\"+img);
                MessageBox.Show(pictureBox.ImageLocation);
                
            }
        }

1 użytkowników online, w tym zalogowanych: 0, gości: 1