Sha256: be33f6cd29cf82d31a576d67d853dd2e5a025848dbda524461a3bb12c0684cef

Contents?: true

Size: 661 Bytes

Versions: 16

Compression:

Stored size: 661 Bytes

Contents

# frozen_string_literal: true

require 'mini_magick'

#
# Makes an image from the text given
#
class TextToImage
  DEFAULT_OPTS = {
    format: 'png',
    height: '',
    width: 600
  }.freeze

  def initialize(text, options = {})
    @text = text
    @options = DEFAULT_OPTS.merge options
  end

  def raw
    data
  end

  private

  attr_accessor :options, :text

  def data
    MiniMagick::Tool::Convert.new do |img|
      img.size size
      img.caption text
      img.rotate(options[:rotate]) if options[:rotate].present?
      img << "#{options[:format]}:-"
    end
  end

  def size
    [options[:width].to_s, options[:height].to_s].join('x')
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
lcms-engine-0.5.5 lib/text_to_image.rb
lcms-engine-0.5.4 lib/text_to_image.rb
lcms-engine-0.5.3 lib/text_to_image.rb
lcms-engine-0.5.2 lib/text_to_image.rb
lcms-engine-0.5.1 lib/text_to_image.rb
lcms-engine-0.5.0 lib/text_to_image.rb
lcms-engine-0.4.2 lib/text_to_image.rb
lcms-engine-0.4.1 lib/text_to_image.rb
lcms-engine-0.4.0 lib/text_to_image.rb
lcms-engine-0.3.1 lib/text_to_image.rb
lcms-engine-0.1.4 lib/text_to_image.rb
lcms-engine-0.3.0 lib/text_to_image.rb
lcms-engine-0.1.3 lib/text_to_image.rb
lcms-engine-0.2.0 lib/text_to_image.rb
lcms-engine-0.1.2 lib/text_to_image.rb
lcms-engine-0.1.0 lib/text_to_image.rb