Как отобразить PNG из файла? - PullRequest
2 голосов
/ 12 апреля 2011

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

Я думаю, это должно быть что-то вроде:

btSearch.Image = new Image("myimage.png");

Но это не работает (новое изображение, кажется, не существует).

Спасибо за помощь

Ответы [ 2 ]

6 голосов
/ 12 апреля 2011

Использование Image.FromFile():

btSearch.Image = Image.FromFile("myimage.png");

К сожалению, файл будет заблокирован, пока вы не утилизируете изображение. Для другого решения см. Вопрос ToolStripButton: что не так с программным назначением изображения .

2 голосов
/ 12 апреля 2011

Я рекомендую метод Image.FromStream(), поскольку он не блокирует фактический файл.

Например:

using (var stream = File.OpenRead(path))
using (var image = Image.FromStream(stream))
{
    //Black magic here.
}

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

Вот предыдущее обсуждение с ответом Джона Скита.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...