# `Image.Exif`
[🔗](https://github.com/elixir-image/image/blob/v0.67.0/lib/image/exif.ex#L1)

Functions to extract and interpret image EXIF
data.

# `context`

```elixir
@type context() :: {value(), non_neg_integer(), (any() -&gt; non_neg_integer())}
```

# `t`

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

# `value`

```elixir
@type value() :: binary()
```

# `extract_exif`

Extract EXIF data from a binary blob.

# `field`

```elixir
@spec field(:artist | :copyright | atom() | String.t()) :: String.t()
```

Returns the libvips header field name for a known EXIF field
alias.

### Examples

    iex> Image.Exif.field(:artist)
    "exif-ifd0-Artist"

    iex> Image.Exif.field(:copyright)
    "exif-ifd0-Copyright"

    iex> Image.Exif.field("anything-else")
    "anything-else"

# `read_exif`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
