Description
Library that finds the dimensions and type of an image fetching as little as needed.
README
fastimage.cr
Library that finds the dimensions and type of an image fetching as little as needed.
Documentation
https://jetrockets.github.io/fastimage.cr
Installation
- Add the dependency to your
shard.yml
:
dependencies:
fastimage:
github:jetrockets/fastimage.cr
- 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
- Fork it (https://github.com/jetrockets/fastimage.cr/fork)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
Contributors
- Igor Alexandrov - creator and maintainer
*Note that all licence references and agreements mentioned in the fastimage.cr README section above
are relevant to that project's source code only.