Module: Compass::Magick::Functions::Sprites

Included in:
Compass::Magick::Functions
Defined in:
lib/magick/functions/sprites.rb

Overview

Methods for generating sprites from on a Canvas.

Instance Method Summary collapse

Instance Method Details

#magick_sprite(basename, canvas) ⇒ Sass::Script::String

Writes the canvas to a file, encoded as a PNG image. The output is optimized for best compression.

Parameters:

  • basename (Sass::Script::String)

    The PNG image basename. The generated file is saved in the configured images directory with a .png extension. Directory names are allowed and can be used to group a set of objects together.

  • canvas (Canvas)

    The Canvas object to write.

Returns:

  • (Sass::Script::String)

    A URL to the generated sprite image. (Depending on your configuration) The path is relative and has the cache buster appended after the file extension.



16
17
18
19
20
21
22
23
24
25
# File 'lib/magick/functions/sprites.rb', line 16

def magick_sprite(basename, canvas)
  Compass::Magick::Utils.assert_type 'basename', basename, Sass::Script::String
  Compass::Magick::Utils.assert_type 'canvas',   canvas,   ChunkyPNG::Canvas
  extension = '.png'
  filename  = basename.value.chomp(extension) + extension
  filepath  = File.join(Compass.configuration.generated_images_path, filename)
  FileUtils.mkpath(File.dirname(filepath))
  canvas.save(filepath, :best_compression)
  generated_image_url(Sass::Script::String.new(filename))
end