Popularity
5.8
Growing
Activity
0.0
Stable
26
6
0

Description

Library that finds the dimensions and type of an image fetching as little as needed.

Programming language: Crystal
License: MIT License
Tags: Imageprocessing     Fastimage     Imagemanipulation    
Latest version: v1.1.1

README

fastimage.cr

Build Status GitHub release GitHub license

Library that finds the dimensions and type of an image fetching as little as needed.

Documentation

https://jetrockets.github.io/fastimage.cr

Installation

  1. Add the dependency to your shard.yml:
   dependencies:
     fastimage:
       github:jetrockets/fastimage.cr
  1. Run shards install

Usage

require "fastimage"

.type : String|Nil

Returns image type. Returns nil if image type is not supported.

FastImage.type("https://file-examples.com/wp-content/uploads/2017/10/file_example_PNG_3MB.png")
# => png

.type! : String

Same as #type, but raise exception if anything goes wrong.

.dimensions : Tuple(UInt16?, UInt16?)|Nil

Returns image width and height as a Tuple(UInt16?, UInt16?). Returns nil if image type is not supported.

FastImage.dimensions("https://file-examples.com/wp-content/uploads/2017/10/file_example_PNG_3MB.png")
# => [2200, 1467]

.dimensions! : Tuple(UInt16?, UInt16?)

Same as #dimensions, but raise exception if anything goes wrong.

Feature Progress

  • [ ] Data sources
    • [X] Remote file
    • [X] HTTP/HTTPS
    • [ ] Proxy
    • [ ] HTTP redirects
    • [X] Local file
    • [X] IO
    • [X] Base64
  • [ ] File formats
    • [X] BMP
    • [X] CUR
    • [X] GIF
    • [X] ICO
    • [X] JPEG
    • [X] parse EXIF information for JPEG orientation
    • [X] PNG
    • [X] PSD
    • [ ] SVG
    • [X] TIFF
    • [X] WEBP

Contributing

  1. Fork it (https://github.com/jetrockets/fastimage.cr/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors


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