{"id":15590507,"url":"https://github.com/coderberry/magick-metadata","last_synced_at":"2025-04-28T10:28:06.238Z","repository":{"id":5463936,"uuid":"6659238","full_name":"coderberry/magick-metadata","owner":"coderberry","description":"Parses an image using ImageMagick and parses the metadata","archived":false,"fork":false,"pushed_at":"2017-09-06T12:49:51.000Z","size":15,"stargazers_count":41,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-06T15:43:18.208Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/coderberry.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-11-12T19:34:55.000Z","updated_at":"2022-06-19T17:34:05.000Z","dependencies_parsed_at":"2022-08-06T18:15:50.719Z","dependency_job_id":null,"html_url":"https://github.com/coderberry/magick-metadata","commit_stats":null,"previous_names":["cavneb/magick-metadata"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coderberry%2Fmagick-metadata","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coderberry%2Fmagick-metadata/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coderberry%2Fmagick-metadata/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coderberry%2Fmagick-metadata/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/coderberry","download_url":"https://codeload.github.com/coderberry/magick-metadata/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251294229,"owners_count":21566232,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-02T23:22:21.788Z","updated_at":"2025-04-28T10:28:06.218Z","avatar_url":"https://github.com/coderberry.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"### NOTE: This gem has been renamed from rmagick-metadata to magick-metadata\n\n# Magick::Metadata\n\n\u003ca target='_blank' rel='nofollow' href='https://staging.codesponsor.io/link/Z24Ypyn8iC1Q4i6uCwNyLW3r/cavneb/make_flaggable'\u003e  \u003cimg alt='Sponsor' width='888' height='68' src='https://staging.codesponsor.io/embed/Z24Ypyn8iC1Q4i6uCwNyLW3r/cavneb/make_flaggable.svg' /\u003e\u003c/a\u003e\n\nParses an image using ImageMagick and parses the metadata.\n\nFor this gem to work, [ImageMagick](http://www.imagemagick.org/script/index.php) must be installed.\n\n## Installation\n\nAdd this line to your application's Gemfile:\n\n    gem 'magick-metadata'\n\nAnd then execute:\n\n    $ bundle\n\nOr install it yourself as:\n\n    $ gem install magick-metadata\n\n## Usage\n\n```ruby\nimage_path = \"/my_rails_app/app/assets/images/rails.png\"\n\ndata = MagickMetadata.new(image_path)\n\n# Helpers\nassert data.filename_suffix                            == 'png'\nassert data.has_transparency?                          == true\nassert data.dimensions                                 == [ 50, 64 ]\nassert data.width                                      == 50\nassert data.height                                     == 64\nassert data.file_size                                  == 6646\nassert data.resolution                                 == 72\nassert data.compression_percent                        == 0.0\n\n# Auto-populated\nassert data.file_size_of_image                         == '6646B'\nassert data.comment                                    == ''\nassert data.directory                                  =~ /\\.*\\/magick-metadata\\/test/\nassert data.filename_suffix                            == 'png'\nassert data.filename_with_suffix                       == 'rails.png'\nassert data.layer_canvas_page_geometry                 == '50x64+0+0'\nassert data.current_height_in_pixels                   == '64'\nassert data.image_filename                             =~ /\\.*\\/magick-metadata\\/test\\/rails.png/\nassert data.calculated_number_of_unique_colors         == '2018'\nassert data.label                                      == ''\nassert data.image_file_format                          == 'PNG'\nassert data.number_of_images_in_current_image_sequence == '1'\nassert data.output_filename                            == ''\nassert data.index_of_image_in_current_image_list       == '0'\nassert data.quantum_depth                              == '16'\nassert data.image_class_and_colorspace                 == 'DirectClass sRGB Matte'\nassert data.scene_number                               == '0'\nassert data.filename_without_directory_or_extension    == 'rails'\nassert data.unique_temporary_filename                  == ''\nassert data.current_width_in_pixels                    == '50'\nassert data.x_resolution_density                       == '72 Undefined'\nassert data.y_resolution_density                       == '72 Undefined'\nassert data.image_depth                                == '8'\nassert data.image_transparency_channel_enabled         == 'True'\nassert data.image_compression_type                     == 'Zip'\nassert data.image_gif_dispose_method                   == 'Undefined'\nassert data.image_size_w_x_h                           == '50x64'\nassert data.page_canvas_height                         == '64'\nassert data.magick_filename                            =~ /\\.*\\/magick-metadata\\/test\\/rails.png/\nassert data.page_canvas_offset                         == '+0+0'\nassert data.page_canvas_size                           == '50x64'\nassert data.image_compression_quality                  == '0'\nassert data.scenes                                     == '2147483647'\nassert data.image_time_delay                           == '0'\nassert data.page_canvas_width                          == '50'\nassert data.page_canvas_x_offset                       == '0'\nassert data.page_canvas_y_offset                       == '0'\nassert data.unique_filename                            == ''\nassert data.calculated_trim_bounding_box               == '50x64+0+0'\nassert data.calculated_signature_hash_of_image_values  == 'ae231a37d573c2ef941f3345932183b58cf5c0e6a569839d931b6172cebdbe27'\n```\n\n## Usage with CarrierWave\n\nIf you would like to use this gem along with [CarrierWave](https://github.com/jnicklas/carrierwave), place the following into your uploader file:\n\n```ruby\nprocess :store_metadata\ndef store_metadata\n  if @file\n    metadata = ::MagickMetadata.new(@file.path)\n    model.content_type        = metadata.image_file_format\n    model.file_size           = metadata.file_size\n    model.width               = metadata.width\n    model.height              = metadata.height\n    model.filename_suffix     = metadata.filename_suffix\n    model.is_transparency     = metadata.has_transparency?\n    model.resolution          = metadata.resolution\n    model.compression_percent = metadata.image_compression_quality\n    model.file_name           = metadata.filename_with_suffix\n    model.unique_color_count  = metadata.calculated_number_of_unique_colors\n    model.file_format         = metadata.image_file_format\n  end\nend\n```\n\n## Testing\n\nThe gem is fully tested using [MicroTest](http://hopsoft.github.com/micro_test/). Use the command `mt` to perform the tests.\n\n## Contributing\n\n1. Fork it\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create new Pull Request\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoderberry%2Fmagick-metadata","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoderberry%2Fmagick-metadata","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoderberry%2Fmagick-metadata/lists"}