получить название картины? - PullRequest
5 голосов
/ 24 декабря 2010
if(pictureBox4.Image.ToString() == 
    ePRO_Decision_Tool.Properties.Resources.mod_onalertq.ToString())...

Как прочитать имя файла изображения, загруженного в pictureBox (или из ресурсов)?

Ответы [ 6 ]

10 голосов
/ 24 декабря 2010

Изображение, загруженное в PictureBox, является просто массивом байтов, поэтому, чтобы узнать, каково имя файла, вы должны заполнить Tag свойство PictureBox, когда любое изображение загружено в него.

4 голосов
/ 24 декабря 2010

Объект Image содержит только двоичные данные изображения. Вы можете вручную установить свойство Tag в Image, чтобы оно содержало имя файла (после того, как вы создали изображение).

Если вы загрузите изображение в PictureBox с помощью метода Load(), это обновит свойство PictureBox *1008* до пути к файлу.

Тогда вы можете использовать pictureBox4.ImageLocation для сравнения.

Расположение изображения на MSDN

1 голос
/ 10 августа 2014
private void button1_Click(object sender, EventArgs e)
{
    openFileDialog1.FileName = "";
    openFileDialog1.Title = "Images";
    openFileDialog1.Filter = "JPG Image(*.jpg)|*.jpg|BMP Image(*.bmp)|*.bmp";
    openFileDialog1.ShowDialog();
    if (openFileDialog1.FileName.ToString() != "")
    {
        string imagePath = openFileDialog1.FileName.ToString();
        string imagepath = imagePath.ToString();
        imagepath = imagepath.Substring(imagepath.LastIndexOf("\\"));
        imagepath = imagepath.Remove(0, 1);
    }
}
1 голос
/ 24 декабря 2010

Я почти уверен, что нет пути, класс Image не раскрывает, откуда он взялся.

0 голосов
/ 08 сентября 2017

вот простой способ получить имя изображения из графического блока в c #:

string imgPath = pictureBox1.ImageLocation; 
string nameImage =imgPath.Substring(imgPath.LastIndexOf('\\')+1);
0 голосов
/ 16 июня 2014

этот метод просто работает с загрузкой изображения по PictureBox.Image.Load(Image Path)

, не работает с загрузкой изображения напрямую из ресурса, не работает с загрузкой изображения по PictureBoc.Image = Image.FromFile(Image Path), потому что выше методы (кроме Image.Load()) делают Image.ImageLocationустановить на null

PictureBox.Image.Load("Image Path");
string imagepath = PictureBox.Image.ImageLocation.ToString();
                  imagepath = imagepath.Substring(imagepath.LastIndexOf("\\"));
                  imagepath = imagepath.Remove(0, 1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...