Модуль Image::Info. Получение META-данных изображения

By | 24.08.2011

Интересный модуль, который позволяет получить различные мета-данные об изображении.

Работает с форматами: BMP, GIF, ICO, JPEG, PNG, PPM, PGM, PBM, SVG, TIFF, XBM, XPM. Следует учитывать то, что для каждого формата количество и тип возвращаемых данных могут отличаться.

Ниже – краткое описание и простой пример использования. Просто для того, чтобы иметь представление о существовании подобного модуля и принципе его работы.

Краткое описание

Модуль позволяет использовать 5 функций: image_info, image_type, dim, html_dim, determine_file_type.

Функция image_info

Функция image_info() является основной и самой востребованной.

Возвращает мета-информацию заданного изображения. Данные возвращаются в виде ссылки на хэш с предопределенными полями.

Поля, общие для всех типов изображений

  • file_media_type – MIME-тип файла. Содержит строку вида – “image/jpeg” или “image/png”.
  • file_ext – расширение файла изображения. Содержит значение из трех символов, например: “png” или “jpg”.
  • width – ширина изображения в пикселях.
  • height – высота изображения в пикселях.
  • color_type – содержит короткую строку с аббревиатурой цветовой модели, которая используется для данного изображения. Может принимать одно из значений:
    • Gray
    • GrayA
    • RGB
    • RGBA
    • CMYK
    • YCbCr
    • CIELab

    Кроме того, для перечисленных значений может использоваться префикс “Indexed-” . Например, “Indexed-RGB”.

  • resolution – предоставляет информацию о физическом размере графического документа. Единицей измерения служат dpi, dpm или dpcm (“dots per inch/cm/meter”).

Дополнительные поля

Данные для этих полей предоставляются только в том случае, если исследуемое изображение содержит необходимую информацию:

  • SamplesPerPixel
  • BitsPerSample
  • Comment
  • Interlace
  • Compression
  • Gamma
  • LastModificationTime

Подробное описание полей см. в документации модуля.

Пример использования функции image_info():

Функция image_type

Функция возвращает ссылку на хэш с единственным ключом – “file_type“. Функция полезна, если требуется информация только о типе файла.

Как видно из примера, Image::Info правильно опознал jpg-файл, даже с ошибкой в названии.

Функция dim

Возвращает ширину и высоту изображения, берет их из хэша, полученного от image_info().

Зачем это нужно было реализовывать отдельной функцией – не представляю…

Функция html_dim

Функция делает то же, что и dim(), но упаковывает данные в html-формат. После упаковки их можно смело подставлять в html-код.

Функция determine_file_type

Определяет тип графического файла, принимая на вход его содержимое.

Полезная ссылка

search.cpan.org: Подробная документация по Image::Info

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

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

*