Как получить изображение из папки ресурсов проекта на C#

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

Ответов (5)

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");
    }
}

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

Код ниже продемонстрирует это.

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 и т. д.)

Надеюсь, я буду кому-то полезен.

Спасибо.

У меня работали:

(Bitmap) Properties.Resources.ResourceManager.GetObject("ImageName");

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

введите описание изображения здесь

Теперь войдите в код по

Image = Properties.Resources.ImageName

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

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

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

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

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

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