exexif alternatives and similar packages
Based on the "Images" category.
Alternatively, view exexif alternatives based on common mentions on social networks and blogs.
-
ex_image_info
ExImageInfo is an Elixir library to parse images (binaries) and get the dimensions (size), detected mime-type and overall validity for a set of image formats. It is the fastest and supports multiple formats. -
png
A pure Erlang library for creating PNG images. It can currently create 8 and 16 bit RGB, RGB with alpha, indexed, grayscale and grayscale with alpha images. -
gi
Gi is a library for manipulating Graphics Interfacing. Use utility mogrify, identify, ... of GraphicsMagick to resize, draw on base images....
CodeRabbit: AI Code Reviews for Developers
Do you think we are missing an alternative of exexif or a related project?
Popular Comparisons
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.