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

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

Работает с форматами: 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