Как получить изображение из папки ресурсов проекта в C # - PullRequest
12 голосов
/ 28 февраля 2009

У меня есть несколько изображений в папке ресурсов в моем проекте, но я хочу изменить изображение в этих файлах ресурсов проекта

Ответы [ 5 ]

25 голосов
/ 28 февраля 2009

Рассмотрите возможность использования Properties.Resources.yourImage

Properties.Resources содержит все, что вы добавили в качестве ресурса (см. Свойства вашего проекта, вкладка ресурсов)

Кроме этого, если вы вставляете изображения в качестве ресурса в свой проект, вы можете получить их, вызвав GetManifestResourceStream в сборке, в которую вы вставили изображения, что-то вроде

Stream imgStream = 
    Assembly.GetExecutingAssembly().GetManifestResourceStream(
    "YourNamespace.resources.ImageName.bmp");
pictureBox.Image = new Bitmap(imgStream);

Не забудьте пометить изображение как встроенный ресурс! (Вам нужно установить действие по сборке изображения в окне его свойств)

Если вы обнаружите, что продолжаете получать null от GetManifestResourceStream, возможно, вы даете неправильное имя. (Это может быть трудно получить правильные имена) Звоните GetManifestResourceNames на сборке; это вернет вам все имена ресурсов, и вы сможете найти нужное в списке.

2 голосов
/ 29 февраля 2012
string img = null;

private void btnShow_Click(object sender, EventArgs e)
{
    string imgName;
    img = textBox1.Text;
    imgName = "images/" + img + ".jpg";

    if (imgName == null)
    {
        MessageBox.Show("no photo");
    }
    else if (imgName != null)
    {
        this.picBox1.Image = Image.FromFile("images/" + img + ".jpg");
    }
}
1 голос
/ 28 августа 2014

Ниже приведен код для извлечения изображения из папки ресурсов. Обычно мы храним изображения в папке ресурсов. но иногда у нас есть имя изображения только с нами. в этом случае вы можете получить доступ к изображениям из папки ресурсов, используя только имя изображения.

Ниже код будет демонстрировать об этом.

private System.Resources.ResourceManager RM = new System.Resources.ResourceManager("YourAppliacationNameSpace.Properties.Resources", typeof(Resources).Assembly);

PbResultImage.Image = (Image)RM.GetObject(YourPictureName);
  • YourAppliacationNameSpace означает название вашего приложения.
  • YourPictureName означает изображение, к которому вы хотите получить доступ из папки ресурсов. но имя изображения должно быть без расширения, например (PNG, GIF, JPEG и т. Д.)

надеюсь, что кому-нибудь это будет полезно.

Спасибо.

0 голосов
/ 02 мая 2019

Щелкните правой кнопкой мыши по проекту. Перейдите на вкладку Ресурсы. Выберите существующую опцию и добавьте изображение.

enter image description here

Теперь доступ в коде по

Image = Properties.Resources.ImageName
0 голосов
/ 22 августа 2015

Сала.

работал для меня:

(Bitmap) Properties.Resources.ResourceManager.GetObject("ImageName");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...