Загрузка изображения с URL-адреса в C# возможна без большого количества кода. Загрузка изображений из Интернета может быть выполнена непосредственно в память без необходимости сохранять их в виде файла. Образ в памяти может быть записан на диск позже, если это необходимо.
Код для получения изображений из URL-адреса будет работать для форматов изображений, поддерживаемых .NET Framework, что является общим большинством форматов в Интернете.
Данные изображения
Самая сложная часть исходного кода на самом деле получает данные байта изображения из URL-адреса. Я собираюсь загрузить байтовые данные
с библиотеками .NET Framework. Мы можем сделать это, потому что изображение URL -это просто файл. Таким образом, мы можем считывать байтовые данные.
Обычно файл образа может быть просто загружен и сохранен непосредственно на жестком диске. После сохранения мы можем загрузить изображение и отобразить его в приложении C#.
Но в этом случае мы собираемся сохранить данные изображения в виде байтов,что позволит нашему приложению загружать любое изображение из Интернета без необходимости его сохранения.
Загрузка изображения
Хитрость загрузки данных в виде образа .NET заключается в том, чтобы обернуть необработанные данные в Stream. Пространство имен System.IO в C# имеет полезный класс с именем MemoryStream. Класс MemoryStream C# может быть загружен с необработанными данными, которые будут считываться, как и любой другой поток «файла», за исключением байтов, находящихся в памяти.
Далее следует использовать статическую функцию FromStream для чтения потока в образ .NET:
1 2 3 4 |
byte[] imageData = DownloadData(Url); //DownloadData function from here MemoryStream stream = new MemoryStream(imageData); Image img = Image.FromStream(stream); stream.Close(); |
Здраствуйте.
А не подскажите как можно скачать изображение и перед сохранением указать нужный размер картинки. Например уменьшить его. Был 1200×720 и надо сохранить у себя 400×300
Использовать стандартные классы для преобразования изображения.