Вверх ↑
Ответов: 1926
Рейтинг: 172
#1: 2018-09-24 11:32:33 ЛС | профиль | цитата
25.10.2018 компонент обновлён на SVN, так что теперь берите только оттуда.
http://svn.hiasm.com/packs/delphi/conf/Jpeg.ini
http://svn.hiasm.com/packs/delphi/code/Exif.pas
http://svn.hiasm.com/packs/delphi/code/hiJpeg.pas
Пример

Обновлён модуль Exif и компонент Jpeg (версия 1.2).

Что нового:
- исправлены ошибки с нахождением раздела Exif, чтения нек-ых тегов
    Теперь работает даже лучше, чем ShowExif!
- учитывается порядок байт (биг/литтл)
- учитывается кол-во тегов
- 71 свойство
свойства
ExifValid=Наличие Exif в файле
Description=Описание картинки
Make=Производитель записывающего устройства
Model=Модель устройства
Software=Название и версия программного обеспечения записывающего устройства
Artist=Имя владельца камеры, фотографа или создателя изображения
Orientation=Ориентация картинки в текстовом виде
OrientationN=Ориентация картинки
DateTime=Дата и время изменения картинки
Copyright=Копирайт
ExifVersion=Версия Exif
UserComments=Комментарии
DateTimeOriginal=Дата и время создания исходного изображения
DateTimeDigitized=Дата и время оцифровки изображения
OffsetTime=Смещение от UTC для DateTime
OffsetTimeOriginal=Смещение от UTC для DateTimeOriginal
OffsetTimeDigitized=Смещение от UTC для DateTimeDigitized
SubSecTime=Доли секунд для DateTime
SubSecTimeOriginal=Доли секунд для DateTimeOriginal
SubSecTimeDigitized=Доли секунд для DateTimeDigitized
ExposureTime=Время экспозиции (выдержка), с
FNumber=Число диафрагмы
ExposureProgram=Класс программы для установки экспозиции
SpectralSensitivity=Строка, указывающая спектральную чувствительность каждого канала устройства
PhotographicSensitivity=Чувствительность устройства при съёмке изображения (ISOSpeedRatings).
SensitivityType=Указывает, какой параметр записан в PhotographicSensitivity
StandardOutputSensitivity=Стандартное значение выходной чувствительности устройства
RecommendedExposureIndex=Рекомендуемое значение индекса экспозиции устройства
ISOSpeed=Значение ISO-светочувствительности устройства
ISOSpeedLatitudeyyy=
ISOSpeedLatitudezzz=
ShutterSpeedValue=Скорость затвора в APEX-единицах
ApertureValue=Число диафрагмы в APEX-единицах
BrightnessValue=Значение яркости в APEX-единицах
ExposureBiasValue=Смещение экспозиции в APEX-единицах
MaxApertureValue=Минимальное число F объектива (т.е. максимально открытая диафрагма). в APEX-единицах
SubjectDistance=Расстояние до объекта, м
MeteringMode=Режим замера
LightSource=Вид источника света
Flash=Состояние вспышки
FocalLength=Фактическое фокусное расстояние объектива, мм
FlashEnergy=Энергия вспышки при съёмке, измеренная в BCPS (Beam Candle Power Seconds)
FocalPlaneXResolution=Количество пикселей по ширине на фокальной плоскости камеры
FocalPlaneYResolution=Количество пикселей по высоте на фокальной плоскости камеры
FocalPlaneResolutionUnit=Единица измерения для FocalPlane*Resolution
ExposureIndex=Индекс экспозиции устройства
SensingMethod=Тип датчика изображения
FileSource=Источник изображения
ExposureMode=Режим экспозиции
WhiteBalance=Режим баланса белого
DigitalZoomRatio=Коэффициент цифрового увеличения
FocalLengthIn35mmFilm=Эквивалентное фокусное расстояние для 35-миллиметровой пленочной камеры, мм
SceneCaptureType=Тип снимаемой сцены
GainControl=Степень общей регулировки усиления изображения
Contrast=Направление обработки контрастности при съёмке
Saturation=Направление обработки насыщения при съёмке
Sharpness=Направление обработки резкости при съёмке
SubjectDistanceRange=Расстояние до объекта
Temperature=Температура окружающей среды при съёмке, °C
Humidity=Влажность окружающей среды при съёмке, %
Pressure=Давление окружающей среды при съёмке, гПа
WaterDepth=Глубина под водой при съёмке, м. Отрицательные значения подразумевают высоту над водой
Acceleration=Ускорение (без знака) при съёмке, мГал
CameraElevationAngle=Повышение/понижение угла ориентации камеры при съёмке, градусов
ImageUniqueID=Строка-индентификатор, уникальная для каждого изображения устройства
CameraOwnerName=Владелец устройства
BodySerialNumber=Серийный номер тела устройства (камеры)
LensSpecification=Параметры объектива
LensMake=Производитель объектива
LensModel=Имя и номер модели объектива
LensSerialNumber=Серийный номер сменного объектива
_____________________________________________________________________________________________

Но это ещё не всё. Т.к. в процессе доработки разобрался со структурой Exif, решил выложить её для понимания всем желающим.
Видео для программистов, как читать Exif: https://yadi.sk/i/RXhcCqgJtIxZjQ
Архив, содержащий:
- exif.doc, кратко описывающий структуру exif;
- схема программы exifer, которая читает exif на штатных компонентах, без IC;
- больше сотни фотографий с разными exif'ами для опытов.

Наконец, ссылки на разную документацию по теме:
- http://www.cipa.jp/std/documents/e/DC-008-Translation-2016-E.pdf
- объяснение тега MakerNote для разных камер
______________________________________________________________________________________________

Убедительная просьба к Nic-у: обновить компонент на SVN, т.к. старый содержит множество ошибок чтения exif и более непригоден к использованию!
карма: 9
0
Редактировалось 12 раз(а), последний 2019-06-28 09:08:15