aspect_ratio
Image aspect ratio utilities.
The Ruby port of node-aspectratio npm module.
Install
Install globally
gem install aspect_ratio
OR
Install locally with Bundler
Please include
gem 'aspect_ratio'
in your Gemfile then bundle install
Test
ruby test/aspect_ratio_test.rb
API
crop(integer width, integer height, string ratio)
Apply a fixed aspect ratio crop without distoring the image aspect ratio.
- integer
width- original image width - integer
height- original image height - string
ratio- new image ratio
The
ratiomust be on the following format:x:ywherexandyare integers. The order ofxandzdoes not matter and3:4will be treated as4:3.By default #crop() will match the orientation of the original image unless a forced orientation is given on the follwing format:
x:y!zwherezis the orientation (vfor vertical, orhfor horizontal).
Return
This will return an Array of four values:
- integer
x- top lef x coordinate - integer
y- top lef y coordinate - integer
width- new image width - integer
height- new image height
Example
require 'aspect_ratio'
AspectRatio.crop(2048, 768, '4:3');
// [512, 768, 1024, 768]

resize(integer x, integer y, integer maxX, integer maxY)
Get resized height and width of an image while perserving the aspect ratio of the image.
- integer
x- original image width - integer
y- original image height - integer
maxX- max image width - integer
maxY- max image height
Return
Returns an Array of the resized x and y values:
- integer
x- resized image width - integer
y- resized image height