class MagickCanvas::Base

Attributes

center[RW]
image_list[RW]

Public Class Methods

new() click to toggle source
# File lib/magick_canvas/base.rb, line 13
def initialize
  self.image_list = ImageList.new
  self.center = Point.new(width * 0.5, height * 0.5)
end

Public Instance Methods

open() click to toggle source
# File lib/magick_canvas/base.rb, line 18
def open
  write
  `hash open > /dev/null 2>&1 && open -a #{app} #{path}`
end
radians(degrees) click to toggle source
# File lib/magick_canvas/base.rb, line 28
def radians(degrees)
  degrees * Math::PI / 180
end
write() click to toggle source
# File lib/magick_canvas/base.rb, line 23
def write
  draw_frames
  image_list.write(path)
end

Private Instance Methods

default_options() click to toggle source
# File lib/magick_canvas/base.rb, line 47
def default_options
  {
    app: 'Safari',
    width: 300,
    height: 300,
    number_of_frames: 1,
    background_color: 'black',
    directory: Dir.tmpdir
  }
end
draw(image, frame_count) click to toggle source
# File lib/magick_canvas/base.rb, line 76
def draw(image, frame_count); end
draw_frames() click to toggle source
# File lib/magick_canvas/base.rb, line 78
def draw_frames
  number_of_frames.times do |i|
    draw(new_image, i)
  end
end
filename() click to toggle source
# File lib/magick_canvas/base.rb, line 67
def filename
  extname = gif? ? 'gif' : 'png'
  "magick_canvas.#{extname}"
end
gif?() click to toggle source
# File lib/magick_canvas/base.rb, line 63
def gif?
  number_of_frames > 1
end
new_image() click to toggle source
# File lib/magick_canvas/base.rb, line 58
def new_image
  bg_color = background_color
  image_list.new_image(columns, rows) { self.background_color = bg_color }
end
options() click to toggle source
# File lib/magick_canvas/base.rb, line 36
def options
  {}
end
options_with_defaults() click to toggle source
# File lib/magick_canvas/base.rb, line 40
def options_with_defaults
  OpenStruct.new(default_options.merge(options)).tap do |merged|
    merged.columns = merged.width
    merged.rows = merged.height
  end
end
path() click to toggle source
# File lib/magick_canvas/base.rb, line 72
def path
  "#{directory}/#{filename}"
end