Image aspect ratio utilities.
The Ruby port of node-aspectratio npm module.
Install globally
gem install aspect_ratio
OR
Install locally with Bundler
Please include
gem 'aspect_ratio'
in your Gemfile
then bundle install
ruby test/aspect_ratio_test.rb
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
ratio
must be on the following format:x
:y
wherex
andy
are integers. The order ofx
andz
does not matter and3:4
will 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
!z
wherez
is the orientation (v
for vertical, orh
for horizontal).
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
require 'aspect_ratio'
AspectRatio.crop(2048, 768, '4:3');
// [512, 768, 1024, 768]
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 - boolean
enlarge
- enlarge when original is smaller than the max - default true
Returns an Array
of the resized x
and y
values:
- integer
x
- resized image width - integer
y
- resized image height
require 'aspect_ratio'
AspectRatio.resize(2048, 768, 640, 640);
// [640, 240]