Module: DotDiff::Image::Cropper
- Included in:
- Snapshot
- Defined in:
- lib/dotdiff/image/cropper.rb
Instance Method Summary collapse
- #crop_and_resave(element) ⇒ Object
- #height(element, image) ⇒ Object
- #load_image(file) ⇒ Object
- #width(element, image) ⇒ Object
Instance Method Details
#crop_and_resave(element) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 |
# File 'lib/dotdiff/image/cropper.rb', line 6 def crop_and_resave(element) image = load_image(fullscreen_file) image.crop!( element.rectangle.x, element.rectangle.y, width(element, image), height(element, image) ) image.write(cropped_file) end |
#height(element, image) ⇒ Object
22 23 24 25 26 27 28 29 30 31 |
# File 'lib/dotdiff/image/cropper.rb', line 22 def height(element, image) element_height = element.rectangle.height + element.rectangle.y image_height = image.rows if element_height > image_height image_height - element.rectangle.y else element.rectangle.height end end |
#load_image(file) ⇒ Object
18 19 20 |
# File 'lib/dotdiff/image/cropper.rb', line 18 def load_image(file) Magick::Image.read(file).first end |
#width(element, image) ⇒ Object
33 34 35 36 37 38 39 40 41 42 |
# File 'lib/dotdiff/image/cropper.rb', line 33 def width(element, image) element_width = element.rectangle.width + element.rectangle.x image_width = image.columns if element_width > image_width image_width - element.rectangle.x else element.rectangle.width end end |