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
- [X] Remote file
- [ ] 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