Exexif (nextexif v0.1.2)

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

@type context() :: {value(), non_neg_integer(), (any() -> non_neg_integer())}
@type 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()
}
@type value() :: binary()

Link to this section Functions

Link to this function

exif_from_jpeg_buffer(arg1)

@spec 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)

@spec 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)

@spec 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)

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

Extracts EXIF from jpeg file, raises on any error

Link to this function

read_exif(arg1)

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

read_exif(exif_offset, context)