Popularity
5.8
Growing
Activity
0.0
Stable
44
6
23

Monthly Downloads: 948
Programming language: Elixir
License: MIT License
Tags: Images    

exexif alternatives and similar packages

Based on the "Images" category.
Alternatively, view exexif alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of exexif or a related project?

Add another 'Images' Package

README

Exexif

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

Retrieve data from a file:

iex> {:ok, info} = Exexif.exif_from_jpeg_file(path)

Retrieve data from a binary containing the JPEG (you don't need the whole thing—the exif is near the beginning of a JPEG, so 100k or so should do fine).

iex> {:ok, info} = Exexif.exif_from_jpeg_buffer(buffer)

Access the high level TIFF data:

iex> info.x_resolution
72
iex> info.model
"DSC-RX100M2"

The exif data is in there, too.

iex> info.exif.color_space
"sRGB"
iex> info.exif |> Dict.keys
[:brightness_value, :color_space, :component_configuration,
 :compressed_bits_per_pixel, :contrast, :custom_rendered, :datetime_original,
 :datetime_digitized, :digital_zoom_ratio, :exif_image_height,
 :exif_image_width, :exif_version, :exposure_bias_value, :exposure_mode,
 :exposure_program, :exposure_time, :f_number, :file_source, :flash,
 :flash_pix_persion, :focal_length, :focal_length_in_35mm_film,
 :iso_speed_ratings, :lens_info, :light_source, :max_aperture_value,
 :metering_mode, :recommended_exposure, :saturation, :scene_capture_type,
 :scene_type, :sensitivity_type, :sharpness, :white_balance]

GPS data is in there, too (if presented in EXIF, of course.)

iex> {:ok, info} = Exexif.exif_from_jpeg_file("test/images/sunrise.jpg")
{:ok,
 %{exif: %{color_space: "Uncalibrated", exif_version: "2.10", ...},
   gps: %Exexif.Data.Gps{gps_altitude: 47, gps_altitude_ref: 0, ...},
   make: "ulefone", model: "Power", modify_date: "\"2016:12:28 14:04:48\"",
   orientation: "Horizontal (normal)", resolution_units: "Pixels/in",
   x_resolution: 72, y_resolution: 72}}

iex> info.gps.gps_latitude
[41, 23, 16.019]

iex> "#{info.gps}"
"41°23´16˝N,2°11´50˝E"

Todo

The exif tag list is missing some of the newer entries. Contributions welcome.

License and Copyright

See LICENSE.md


*Note that all licence references and agreements mentioned in the exexif README section above are relevant to that project's source code only.