class Escpos::Image
Constants
- VERSION
Attributes
options[R]
processor[R]
Public Class Methods
new(image_or_path, options = {})
click to toggle source
# File lib/escpos/image.rb, line 17 def initialize(image_or_path, options = {}) @options = options processor_klass_name = options.fetch(:processor) processor_klass = ImageProcessors.const_get(processor_klass_name) @processor = processor_klass.new image_or_path, options @processor.process! end
Public Instance Methods
to_escpos()
click to toggle source
# File lib/escpos/image.rb, line 27 def to_escpos bits = [] mask = 0x80 i = 0 temp = 0 0.upto(processor.image.height - 1) do |y| 0.upto(processor.image.width - 1) do |x| px = processor.get_pixel(x, y) value = px >= 128 ? 255 : 0 value = (value << 8) | value temp |= mask if value == 0 mask = mask >> 1 i = i + 1 if i == 8 bits << temp mask = 0x80 i = 0 temp = 0 end end end [ Escpos.sequence(IMAGE), [ processor.image.width / 8, processor.image.height ].pack("SS"), bits.pack("C*") ].join end