Module: Cooltrainer::DistorteD::Molecule::SVG

Includes:
Technology::Vips::Save
Defined in:
lib/distorted-floor/media_molecule/svg.rb

Constant Summary collapse

SVG_TYPE =
::CHECKING::YOU::OUT::from_ietf_media_type('image/svg+xml')
LOWER_WORLD =
Hash[
  SVG_TYPE => Cooltrainer::DistorteD::Technology::Vips::VipsType::loader_for(SVG_TYPE).map(&:options).reduce(&:merge)
].merge(Hash[
  :optimize => Cooltrainer::Compound.new(:optimize, valid: Cooltrainer::BOOLEAN_VALUES, default: false, blurb: 'SvgOptimizer'),
])
OUTER_LIMITS =

WISHLIST: Support VML for old IE compatibility.

Example: RaphaëlJS — https://en.wikipedia.org/wiki/Rapha%C3%ABl_(JavaScript_library)
Hash[
  SVG_TYPE => nil,
]

Instance Method Summary collapse

Instance Method Details

#to_vips_image(change = nil) ⇒ Object



31
32
33
34
35
36
# File 'lib/distorted-floor/media_molecule/svg.rb', line 31

def to_vips_image(change = nil)
  # NOTE: libvips 8.9 added the `unlimited` argument to svgload.
  # Loading SVGs >= 10MiB in size will fail on older libvips.
  # https://github.com/libvips/libvips/commit/55e49831b801e05ddd974b1e2102fda7956c53f5
  @vips_image ||= Vips::Image.new_from_file(path)
end