Загрузка изображения из URL-адреса C#

Загрузка изображения с URL-адреса в C# возможна без большого количества кода. Загрузка изображений из Интернета может быть выполнена непосредственно в память без необходимости сохранять их в виде файла. Образ в памяти может быть записан на диск позже, если это необходимо.

Код для получения изображений из URL-адреса будет работать для форматов изображений, поддерживаемых .NET Framework, что является общим большинством форматов в Интернете.

Данные изображения

Самая сложная часть исходного кода на самом деле получает данные байта изображения из URL-адреса. Я собираюсь загрузить байтовые данные

с библиотеками .NET Framework. Мы можем сделать это, потому что изображение URL -это просто файл. Таким образом, мы можем считывать байтовые данные.

Обычно файл образа может быть просто загружен и сохранен непосредственно на жестком диске. После сохранения мы можем загрузить изображение и отобразить его в приложении C#.

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

Загрузка изображения

Хитрость загрузки данных в виде образа .NET заключается в том, чтобы обернуть необработанные данные в Stream. Пространство имен System.IO в C# имеет полезный класс с именем MemoryStream. Класс MemoryStream C# может быть загружен с необработанными данными, которые будут считываться, как и любой другой поток «файла», за исключением байтов, находящихся в памяти.

Далее следует использовать статическую функцию FromStream для чтения потока в образ .NET:

 

Обновлено: 08.01.2022 — 17:30

2 комментария

Оставить комментарий
  1. Дмитрий

    Здраствуйте.
    А не подскажите как можно скачать изображение и перед сохранением указать нужный размер картинки. Например уменьшить его. Был 1200×720 и надо сохранить у себя 400×300

    1. Использовать стандартные классы для преобразования изображения.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.