Module: Emfsvg
- Defined in:
- lib/emfsvg.rb,
lib/emfsvg/svg.rb,
lib/emfsvg/error.rb,
lib/emfsvg/options.rb,
lib/emfsvg/version.rb,
lib/emfsvg/bsd_rand.rb,
lib/emfsvg/renderer.rb,
lib/emfsvg/visitors.rb,
lib/emfsvg/svg/color.rb,
lib/emfsvg/svg/paint.rb,
lib/emfsvg/svg/parser.rb,
lib/emfsvg/svg/stroke.rb,
lib/emfsvg/clip_region.rb,
lib/emfsvg/dib_decoder.rb,
lib/emfsvg/dib_encoder.rb,
lib/emfsvg/png_decoder.rb,
lib/emfsvg/png_encoder.rb,
lib/emfsvg/svg/element.rb,
lib/emfsvg/svg_builder.rb,
lib/emfsvg/translation.rb,
lib/emfsvg/object_table.rb,
lib/emfsvg/svg/document.rb,
lib/emfsvg/svg/elements.rb,
lib/emfsvg/svg/path_data.rb,
lib/emfsvg/device_context.rb,
lib/emfsvg/format_helpers.rb,
lib/emfsvg/transform_stack.rb,
lib/emfsvg/svg/elements/defs.rb,
lib/emfsvg/svg/elements/line.rb,
lib/emfsvg/svg/elements/path.rb,
lib/emfsvg/svg/elements/rect.rb,
lib/emfsvg/svg/elements/text.rb,
lib/emfsvg/glyph_index_mapper.rb,
lib/emfsvg/svg/elements/group.rb,
lib/emfsvg/svg/elements/image.rb,
lib/emfsvg/translation/scaler.rb,
lib/emfsvg/svg/elements/circle.rb,
lib/emfsvg/translation/context.rb,
lib/emfsvg/svg/attribute_parser.rb,
lib/emfsvg/svg/elements/ellipse.rb,
lib/emfsvg/svg/elements/polygon.rb,
lib/emfsvg/svg/transform_parser.rb,
lib/emfsvg/translation/handlers.rb,
lib/emfsvg/visitors/emr_visitor.rb,
lib/emfsvg/svg/elements/polyline.rb,
lib/emfsvg/svg/elements/stylable.rb,
lib/emfsvg/svg/path_data/command.rb,
lib/emfsvg/svg/clip_path_registry.rb,
lib/emfsvg/svg/elements/clip_path.rb,
lib/emfsvg/translation/emf_renderer.rb,
lib/emfsvg/translation/scaler/fixed.rb,
lib/emfsvg/translation/header_builder.rb,
lib/emfsvg/translation/record_emitter.rb,
lib/emfsvg/translation/scaler/identity.rb,
lib/emfsvg/translation/decimal_detector.rb,
lib/emfsvg/translation/handler_registry.rb,
lib/emfsvg/translation/handlers/shared_gdi.rb,
lib/emfsvg/translation/handlers/defs_handler.rb,
lib/emfsvg/translation/handlers/line_handler.rb,
lib/emfsvg/translation/handlers/path_handler.rb,
lib/emfsvg/translation/handlers/rect_handler.rb,
lib/emfsvg/translation/handlers/text_handler.rb,
lib/emfsvg/translation/handlers/group_handler.rb,
lib/emfsvg/translation/handlers/image_handler.rb,
lib/emfsvg/translation/handlers/circle_handler.rb,
lib/emfsvg/translation/handlers/path_flattener.rb,
lib/emfsvg/translation/handlers/ellipse_handler.rb,
lib/emfsvg/translation/handlers/polygon_handler.rb,
lib/emfsvg/translation/handlers/polyline_handler.rb,
lib/emfsvg/translation/handlers/clip_path_handler.rb
Defined Under Namespace
Modules: DibEncoder, FormatHelpers, PngDecoder, Svg, Translation, Visitors Classes: Brush, BsdRand, ClipRegion, CoordinateState, DeviceContext, DibDecoder, Error, Font, FormatError, GlyphIndexMapper, ObjectTable, Options, ParseError, Pen, PngEncoder, RenderError, Renderer, SvgBuilder, TransformStack
Constant Summary collapse
- VERSION =
"0.1.2"
Class Method Summary collapse
-
.from_bytes(bytes, **options) ⇒ Object
Parse from bytes then render.
-
.from_file(path, **options) ⇒ Object
Parse from a file path then render.
-
.from_svg(svg_string) ⇒ Object
Parse SVG string and translate to EMF bytes.
-
.from_svg_file(path) ⇒ Object
Parse SVG from a file path and translate to EMF bytes.
-
.to_emf(document) ⇒ Object
Translate an Svg::Document to EMF bytes.
-
.to_svg(metafile, **options) ⇒ Object
Render an Emf::Model::Metafile to an SVG string.
Class Method Details
.from_bytes(bytes, **options) ⇒ Object
Parse from bytes then render.
44 45 46 |
# File 'lib/emfsvg.rb', line 44 def from_bytes(bytes, **) to_svg(Emf.parse(bytes), **) end |
.from_file(path, **options) ⇒ Object
Parse from a file path then render.
49 50 51 |
# File 'lib/emfsvg.rb', line 49 def from_file(path, **) from_bytes(File.binread(path), **) end |
.from_svg(svg_string) ⇒ Object
Parse SVG string and translate to EMF bytes.
60 61 62 |
# File 'lib/emfsvg.rb', line 60 def from_svg(svg_string) to_emf(Svg::Parser.call(svg_string)) end |
.from_svg_file(path) ⇒ Object
Parse SVG from a file path and translate to EMF bytes.
65 66 67 |
# File 'lib/emfsvg.rb', line 65 def from_svg_file(path) from_svg(File.read(path)) end |
.to_emf(document) ⇒ Object
Translate an Svg::Document to EMF bytes.
54 55 56 57 |
# File 'lib/emfsvg.rb', line 54 def to_emf(document) = Translation::EmfRenderer.call(document) Emf.serialize() end |
.to_svg(metafile, **options) ⇒ Object
Render an Emf::Model::Metafile to an SVG string.
Options:
namespace: XML namespace prefix, e.g. "svg" (default: none)
width: override viewport width (default: from metafile header)
height: override viewport height
verbose: print record-by-record dispatch to STDERR (default: false)
emf_plus: attempt to render EMF+ records instead of EMF fallback
(default: false — EMF+ is structured-parsed by emf but
not yet rendered)
39 40 41 |
# File 'lib/emfsvg.rb', line 39 def to_svg(, **) Renderer.call(, Options.new(**)) end |