Exexif (Кропоткин Framework v0.1.0) View Source

Read TIFF and EXIF information from a JPEG-format image.

iex> {:ok, info} = Exexif.exif_from_jpeg_buffer(buffer)
iex> info.x_resolution
72
iex> info.model
"DSC-RX100M2"
...> Exexif.Data.Gps.inspect info
"41°23´16˝N,2°11´50˝E"

Link to this section Summary

Functions

Extracts EXIF from binary buffer

Extracts EXIF from binary buffer, raises on any error

Extracts EXIF from jpeg file

Extracts EXIF from jpeg file, raises on any error

Link to this section Types

Specs

context() :: {value(), non_neg_integer(), (any() -> non_neg_integer())}

Specs

t() :: %{
  brightness_value: float(),
  color_space: binary(),
  component_configuration: binary(),
  compressed_bits_per_pixel: non_neg_integer(),
  contrast: binary(),
  custom_rendered: binary(),
  datetime_digitized: binary(),
  datetime_original: binary(),
  digital_zoom_ratio: non_neg_integer(),
  exif_image_height: non_neg_integer(),
  exif_image_width: non_neg_integer(),
  exif_version: binary(),
  exposure_mode: binary(),
  exposure_bias_value: non_neg_integer(),
  exposure_program: binary(),
  exposure_time: binary(),
  f_number: non_neg_integer(),
  file_source: binary(),
  flash: binary(),
  flash_pix_version: binary(),
  focal_length_in_35mm_film: non_neg_integer(),
  focal_length: float(),
  iso_speed_ratings: non_neg_integer(),
  lens_info: [float()],
  light_source: non_neg_integer(),
  max_aperture_value: float(),
  metering_mode: binary(),
  recommended_exposure: non_neg_integer(),
  saturation: binary(),
  scene_capture_type: binary(),
  scene_type: binary(),
  sensitivity_type: binary(),
  sharpness: binary(),
  white_balance: binary()
}

Specs

value() :: binary()

Link to this section Functions

Link to this function

exif_from_jpeg_buffer(arg1)

View Source

Specs

exif_from_jpeg_buffer(binary()) ::
  {:error, :no_exif_data_in_jpeg | :not_a_jpeg_file} | {:ok, %{exif: t()}}

Extracts EXIF from binary buffer

Link to this function

exif_from_jpeg_buffer!(buffer)

View Source

Specs

exif_from_jpeg_buffer!(binary()) :: %{exif: t()} | no_return()

Extracts EXIF from binary buffer, raises on any error

Link to this function

exif_from_jpeg_file(name)

View Source

Specs

exif_from_jpeg_file(binary()) ::
  {:error, :no_exif_data_in_jpeg | :not_a_jpeg_file | :file.posix()}
  | {:ok, %{exif: t()}}

Extracts EXIF from jpeg file

Link to this function

exif_from_jpeg_file!(name)

View Source

Specs

exif_from_jpeg_file!(binary()) :: %{exif: t()} | no_return()

Extracts EXIF from jpeg file, raises on any error

Specs

read_exif(binary()) :: {:error, :no_exif_data_in_jpeg} | {:ok, %{exif: t()}}
Link to this function

read_exif(exif_offset, context)

View Source