module DotDiff::Image::Cropper

Public Instance Methods

crop_and_resave(element) click to toggle source
# File lib/dotdiff/image/cropper.rb, line 8
def crop_and_resave(element)
  image = load_image(fullscreen_file)
  image.crop!(
    element.rectangle.x.floor,
    element.rectangle.y.floor,
    width(element, image),
    height(element, image)
  )

  image.write(cropped_file)
end
height(element, image) click to toggle source
# File lib/dotdiff/image/cropper.rb, line 24
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) click to toggle source
# File lib/dotdiff/image/cropper.rb, line 20
def load_image(file)
  Magick::Image.read(file).first
end
width(element, image) click to toggle source
# File lib/dotdiff/image/cropper.rb, line 35
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