Class: Teaas::Intensify

Inherits:
Object
  • Object
show all
Defined in:
lib/teaas/intensify.rb

Constant Summary collapse

GRAVITY =
[
  Magick::NorthWestGravity,
  Magick::SouthEastGravity,
  Magick::SouthWestGravity,
  Magick::NorthEastGravity,
  Magick::SouthEastGravity,
  Magick::NorthWestGravity,
  Magick::SouthWestGravity,
]

Class Method Summary collapse

Class Method Details

.intensify(original_img) ⇒ Magick::ImageList

Takes in an image, composites a smaller version of it, then returns an animated intensified image image. Best when used with Turboize.turbo to generate multiple intense speeds.

Parameters:

  • original_img (Array)

    An array of [Magick::ImageList]s

Returns:

  • (Magick::ImageList)

    The intensified image



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/teaas/intensify.rb', line 18

def self.intensify(original_img)
  intensifty_image = Magick::ImageList.new
  img = Teaas::Helper.prepare_for_animation(original_img)
  final_img = Magick::Image.new(img.columns, img.rows)
  final_img.format = "gif"
  intensify_image = Magick::ImageList.new

  img.change_geometry("95%x95%") do |cols, rows, i|
    i.resize!(cols, rows)
  end

  GRAVITY.each do |g|
    intensify_image << final_img.composite(img, g, Magick::OverCompositeOp)
  end

  intensify_image
end

.intensify_from_file(path) ⇒ Magick::ImageList

Takes in an image from a file, composites a smaller version of it, then returns an animated intensified image image. Best when used with Turboize.turbo to generate multiple intense speeds. Wrapper around Teaas::Intensifty.intensify

Parameters:

  • path (String)

    Path to the image to be created to an intensified image

Returns:

  • (Magick::ImageList)

    The intensified image



40
41
42
43
44
# File 'lib/teaas/intensify.rb', line 40

def self.intensify_from_file(path)
  img = Magick::Image.read(path)

  intensify(img)
end