Sha256: 7d49c0daa89f472b6384aaf0d8c082a90aa8f2f1a5f2f6448725b49ed00bd6ca

Contents?: true

Size: 898 Bytes

Versions: 1

Compression:

Stored size: 898 Bytes

Contents

class Rocrad
  class Mixed < Rocrad

    attr_accessor :areas

    def initialize(src="", options = {})
      super(src)
      @areas = options.delete(:areas) || []
      yield self if block_given?
    end

    def add_area(x, y, w, h)
      @txt = ""
      @areas << {:x => x, :y => y, :w => w, :h => h}
    end

    def areas=(value)
      @areas = value.instance_of?(Array) ? value : []
      @areas.delete_if { |area| !area.is_a?(Hash) or !area.has_key?(:x) or !area.has_key?(:y) or
          !area.has_key?(:w) or !area.has_key?(:h) }
      @txt = ""
    end

    private

    #Convert parts of image to string
    def convert
      @txt = ""
      @areas.each do |area|
        image = Rocrad.new(@src.to_s)
        image.crop!(area[:x].to_i, area[:y].to_i, area[:w].to_i, area[:h].to_i)
        @txt << image.to_s
      end
    rescue
      raise Rocrad::ConversionError
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rocrad-0.1.3 lib/rocrad/mixed.rb