Получить информацию из *.jpg файла, не загружая его.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Teranas
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 224
Зарегистрирован: 13.12.2008 (Сб) 4:26
Откуда: Новосибирск

Получить информацию из *.jpg файла, не загружая его.

Сообщение Teranas » 13.12.2008 (Сб) 8:48

Нужно узнать размер картинки из файла *.jpg, но, не загружая его, ни куда, ни в какие Picture.
Скажем, к примеру, так как это делает Windows в свойствах файла.
С уважением, Андрей.

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Re: Получить информацию из *.jpg файла, не загружая его.

Сообщение Alexanbar » 13.12.2008 (Сб) 20:17

Teranas писал(а):Нужно узнать размер картинки из файла *.jpg, но, не загружая его, ни куда, ни в какие Picture.
Скажем, к примеру, так как это делает Windows в свойствах файла.


А я не уверен, что Windows это делает, никуда не загружая картинку. GDI+ в помощь.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Re: Получить информацию из *.jpg файла, не загружая его.

Сообщение tyomitch » 13.12.2008 (Сб) 20:21

Чем GDI+, в этом случае, лучше обычной LoadPicture?
Изображение

Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Re: Получить информацию из *.jpg файла, не загружая его.

Сообщение Debugger » 13.12.2008 (Сб) 21:27

А еще вариант - посмотреть про строение JPG файла и добывать из него нужные байтики.

Teranas
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 224
Зарегистрирован: 13.12.2008 (Сб) 4:26
Откуда: Новосибирск

Re: Получить информацию из *.jpg файла, не загружая его.

Сообщение Teranas » 14.12.2008 (Вс) 2:23

Дело в том, что в BMP формате всё прозрачно, ширена, хранится в файле по смещению &H12, высота по смещению &H16. А вот заголовок с тегами JPG формата закрыт от прямого считывания.
Я думаю, должен быть какой-нибудь модуль, написанный для этой цели.
С уважением, Андрей.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Получить информацию из *.jpg файла, не загружая его.

Сообщение iGrok » 14.12.2008 (Вс) 14:52

Teranas писал(а):Дело в том, что в BMP формате всё прозрачно, ширена, хранится в файле по смещению &H12, высота по смещению &H16. А вот заголовок с тегами JPG формата закрыт от прямого считывания.
Я думаю, должен быть какой-нибудь модуль, написанный для этой цели.

Никуда он не закрыт..
http://www.obrador.com/essentialjpeg/HeaderInfo.htm

Другой вопрос, что длина и ширина НЕ хранятся в файле. Их нужно считать.
Тут есть алгоритм:
http://www.64lines.com/jpeg-width-height

UPD:
А вообще, гугль всё-таки рулит.
Вот тут есть готовый класс:
http://www.freevbcode.com/ShowCode.Asp?ID=112

UPD2:
Но учитывая, что класс всё равно парсит файл целиком, не думаю, что его использование будет более эффективно, чем использование LoadPicture..
label:
cli
jmp label

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Re: Получить информацию из *.jpg файла, не загружая его.

Сообщение Viper » 15.12.2008 (Пн) 8:24

Поскольку тема явно не тянет на вопрос профессионала - переезжаем.
Весь мир матрица, а мы в нем потоки байтов!


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 77

    TopList