class DoctorNinja::Parsers::BlipFill
Public Class Methods
applicable_to?(node)
click to toggle source
# File lib/doctor_ninja/parsers/blip_fill.rb, line 4 def self.applicable_to?(node) node.name == "blipFill" end
Public Instance Methods
parse()
click to toggle source
# File lib/doctor_ninja/parsers/blip_fill.rb, line 8 def parse @image = Magick::Image.from_blob(@document.relationships[rel_id]).first transform @context[:canvas].background_image = @image end
Private Instance Methods
rel_id()
click to toggle source
# File lib/doctor_ninja/parsers/blip_fill.rb, line 16 def rel_id @node.xpath("./a:blip", "a" => xmlns_a).attribute("embed").value end
src_rect()
click to toggle source
# File lib/doctor_ninja/parsers/blip_fill.rb, line 36 def src_rect @node.xpath("./a:srcRect","a" => xmlns_a)[0] end
transform()
click to toggle source
# File lib/doctor_ninja/parsers/blip_fill.rb, line 20 def transform return unless src_rect h = { "l" => src_rect["l"].to_i*@image.columns/100000, "t" => src_rect["t"].to_i*@image.rows/100000, "r" => src_rect["r"].to_i*@image.columns/100000, "b" => src_rect["b"].to_i*@image.rows/100000 } @image = @image.crop( h["l"], h["t"], @image.columns - h["l"]-h["r"] , @image.rows-h["b"]-h["t"] ) end
xmlns_a()
click to toggle source
# File lib/doctor_ninja/parsers/blip_fill.rb, line 40 def xmlns_a @node.namespaces["xmlns:a"] end