Class: Riiif::Region::Imagemagick::SquareDecoder

Inherits:
Object
  • Object
show all
Defined in:
app/services/riiif/region/imagemagick/square_decoder.rb

Overview

decodes requested cooridnates into an imagemagick crop directive

Instance Method Summary collapse

Constructor Details

#initialize(image_info) ⇒ SquareDecoder

Returns a new instance of SquareDecoder.



6
7
8
# File 'app/services/riiif/region/imagemagick/square_decoder.rb', line 6

def initialize(image_info)
  @image_info = image_info
end

Instance Method Details

#decodeString

Returns a square region for imagemagick to decode (appropriate for passing to the -crop parameter).

Returns:

  • (String)

    a square region for imagemagick to decode (appropriate for passing to the -crop parameter)



12
13
14
15
16
17
18
19
20
21
# File 'app/services/riiif/region/imagemagick/square_decoder.rb', line 12

def decode
  min, max = [@image_info.width, @image_info.height].minmax

  offset = (max - min) / 2
  if @image_info.height >= @image_info.width
    "#{min}x#{min}+0+#{offset}"
  else
    "#{min}x#{min}+#{offset}+0"
  end
end