8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/acbaker/processors/cover.rb', line 8
def run(image, image_spec, width = nil, height = nil)
image.change_geometry("#{width}x#{height}^") do |px, py, i|
image.resize!(px, py)
end
canvas = Magick::Image.new(width, height)
if @options['background-color'] == :transparent
canvas = canvas.matte_floodfill(1, 1)
else
canvas = canvas.color_floodfill(1, 1, Magick::Pixel.from_color(@options['background-color']))
end
gravity_string = "Magick::#{@options['gravity']}Gravity"
gravity = Object.const_get(gravity_string)
canvas.composite(image, gravity, Magick::OverCompositeOp)
end
|