Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
 Аватар для ushim
179 / 180 / 55
Регистрация: 01.06.2011
Сообщений: 507

Узнать высоту картинки с минимальными потерями памяти и времени

25.01.2012, 14:26. Показов 1107. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени. Передо мной встала задача: узнать высоту картинки, если известен её адрес в интернет. Допустим
Основная задача: после всех действий мы должны получить высоту в int и это всё не должно занимать ни байта на HDD. Т.е. картинку нужно либо удалить сразу же, либо не загружать вовсе.
С первым всё просто.
C#
1
2
new WebClient().DownloadFile(http, "photo.jpg");
int height = System.Drawing.Image.FromFile("photo.jpg").Height;
На втором при удалении появляется exception о том, что данный файл используется.
Конечно хорошо бы было меня тыкнуть носом в код, где я забыл вызвать метод Dispose(); Но всё же, уважаемые гуру, хотел бы усложнить задачу.
Картинку загружать нельзя. Наверное можно получить какие-либо данные из WebResponse.Headers.

Теперь немного о том, как я обрабатываю картинку
C#
1
2
3
4
5
6
7
string photo = "https://www.cyberforum.ru/images/cyberforum_logo.jpg";
BitmapImage bi = new BitmapImage();
            bi.BeginInit();
            bi.DecodePixelWidth = 200;
            bi.CacheOption = BitmapCacheOption.OnLoad;
            bi.UriSource = new Uri(photo);
            bi.EndInit();
из bi можно получить Height и PixelHeight. Проблема в том, что они не правильные (равны Width). Может быть у кого-то получится исправить?

Наверное всё понятно расписал. Заранее спасибо.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.01.2012, 14:26
Ответы с готовыми решениями:

Переустановка с минимальными потерями
Добрый день! А как можно переустановить винду с минимальными потерями? на компах стоят 7 ultimate плюс много другого софта и работают...

12в -> 5в с минимальными потерями
Подкатили мне тут древний монитор, у него питание 5в и 12в. Блока питания нет. Хочу найти какой-нибудь ноутбучный бп небольшого размера на...

Выборка входящих данных с минимальными потерями
Друзья, пытаюсь реализовать выборку данных , сразу к делу: Входящие данные в настоящем времени, у нас нет ни чего кроме прошлого и...

3
84 / 84 / 10
Регистрация: 20.05.2011
Сообщений: 145
25.01.2012, 14:39
Ну картинку можно же загрузить в память.
0
 Аватар для ushim
179 / 180 / 55
Регистрация: 01.06.2011
Сообщений: 507
25.01.2012, 14:55  [ТС]
Мне главное, чтобы после того как я узнал высоту, эта картинка моментально удалилась из ОП и HDD.
А если кто-то сможет сделать это вообще без загрузки на HDD то будет вообще шикарно
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
25.01.2012, 15:13
Примерно так
C#
1
2
3
4
byte[] image = new WebClient().DownloadData(http);
MemoryStream ms = new MemoryStream(image);
Image bitmap = new Bitmap(ms);
int width = bitmap.Width;
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.01.2012, 15:13
Помогаю со студенческими работами здесь

Проход в штаб противника с минимальными потерями
Есть квадратное поле боя, разбитое на 100 квадратов. В левом верхнем квадрате база красных, в правом нижнем - белых. Белые минируют каждый...

Компрессия изображения с минимальными потерями качества
Здравствуйте уважаемые форумчане! Стоит уточнить, что с языком программирования Swift и со всеми его составляющими я знаком три дня! ...

Конвертирование видео с минимальными потерями качества
Добрый день господа! У меня такой вопрос: есть запись концерта full hd качества, весит он 23,7 гб формата mp4. Мне надо записать это на DVD...

Есть комп, но комплектующие не подходят. Как собрать с минимальными потерями?
Всем привет! заранее спасибо за помощь, но вопрос такой. есть комп. в нем стоял хард на 8 гигов, или как-то так, но это просто...

Зависимость тока от времени до и после коммутации индуктивной цепи с потерями
К цепи подключается источник с ЭДС e(t) прямоугольной формы. Пояснить и указать номер верного графика для тока i(t) , если R=100...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru