ImageGear for C and C++ on Windows v21.0 - Updated
User Guide / File Formats and Compressions / File Formats / File Formats Reference / SVG
In This Topic
    SVG
    In This Topic
    Full Name SVG (Scalable Vector Graphics format)
    Format ID IG_FORMAT_SVG = 77
    File Extension(s) *.svg
    Data Type Vector Image
    Data Encoding XML
    Color Profile Support No
    Multi-Page Support No
    Alpha Channel Support No
    ImageGear 3D Image Support No
    ImageGear Raster to Vector Format Conversion Support Yes
    ImageGear Unicode Text Display Support Yes
    To support the SVG format, attach the ImageGear CAD/Vector SVG Component to Core ImageGear. See Attaching Components.

    ImageGear Supported Versions:

    ImageGear Supported Features:

    ImageGear Read Support:

    ImageGear Write Support:

    ImageGear Filter Control Parameters:

    Filter Control Parameter Type Default Value Available Values Description
    EXTERN_FILE_PATH AM_TID_LP | AM_TID_CHAR "" Any string up to 262 characters Defines a path where external files (like raster images) should be looked for. A value of "" looks in the same directory as the file being loaded.
    WIDTH AT_INT32 512 Any positive value Defines the width of the empty DIB associated with the image after loading. DIB height is calculated using the file's scale factors. See Working with Vector Images.

    Comments:

    SVG (Scalable Vector Graphics) is a platform for two-dimensional graphics. It has two parts: an XML-based file format and a programming API for graphical applications. SVG allows for three types of graphic objects: vector graphic shapes (e.g., paths consisting of straight lines and curves), raster images, and text. Graphical objects can be grouped, styled, transformed and composited into previously rendered objects. Text can be in any XML namespace suitable to the application, which enhances searchability and accessibility of the SVG graphics. The feature set includes nested transformations, clipping paths, alpha masks, filter effects, template objects and extensibility.

    SVG drawings can be dynamic and interactive. The Document Object Model (DOM) for SVG, which includes the full XML DOM, allows for straightforward and efficient vector graphics animation via scripting. A rich set of event handlers such as onmouseover and onclick can be assigned to any SVG graphical object. Because of its compatibility and leveraging of other Web standards, features like scripting can be done on SVG elements and other XML elements from different namespaces simultaneously within the same Web page.

    References Used

    About SVG - 2d Graphics in XML.- http://www.w3.org/Graphics/SVG/About.html

    SVG Elements Supported for Reading

    SVG Element*

    Supported Attributes

    Supported Properties

    Imported into ImageGear as:

    circle

    class

    id

    style

    transform

    cx

    cy

    r

     

    clip-path

    color

    dash-repeat

    display

    fill

    fill-opacity

    opacity

    stroke

    stroke-dasharray

    stroke-width

    visibility

    IG_VECT_ENT_ELLIPSE entity.

    clipPath

    id

    -

    Clipping region for the specified entity. Use Vector Entity Functions to access clipping regions.

    defs

    class

    id

    style

    transform

    clip-path

    color

    dash-repeat

    display

    fill

    fill-opacity

    opacity

    stroke

    stroke-dasharray

    stroke-linecap

    stroke-linejoin

    stroke-width

    text-anchor

    visibility

    font-family

    font-style

    font-variant

    font-size

    font-weight

    font-stretch

    font-size-adjust

    IG_VECT_ENT_BLOCK entity.

    ellipse

    class

    id

    style

    transform

    cx

    cy

    rx

    ry

    clip-path

    color

    dash-repeat

    display

    fill

    fill-opacity

    opacity

    stroke

    stroke-dasharray

    stroke-width

    visibility

    IG_VECT_ENT_ELLIPSE entity.

    font

    style

    Attributes listed below are only stored and saved back to SVG, but are not used for display:

    horiz-origin-x

    horiz-origin-y

    horiz-adv-x

    vert-origin-x

    vert-origin-y

    vert-adv-y

    font-face

    See "font-face" element, below.

    glyph

    See "glyph" element, below.

    missing-glyph

    See "glyph" element, below.

    HIG_VECT_FONT object.

    If HIG_VECT_FONT object is created from <font> Svg element, it will be saved as <font> svg tag when writing the image in SVG format. In any other cases HIG_VECT_FONT object will be written as attributes and properties of <text> or <tspan> elements.
    font-face

    font-family

    font-size

    font-style

    font-weight

    units-per-em

    Attributes listed below are only stored and saved back to SVG, but are not used for display:

    font-stretch

    font-variant

      Stored as part of a HIG_VECT_FONT object.

    G

    class

    id

    style

    transform

    clip-path

    color

    dash-repeat

    display

    fill

    fill-opacity

    opacity

    stroke

    stroke-dasharray

    stroke-linecap

    stroke-linejoin

    stroke-width

    text-anchor

    visibility

    font-family

    font-style

    font-variant

    font-size

    font-weight

    font-stretch

    font-size-adjust

    IG_VECT_ENT_BLOCK and IG_VECT_ENT_INSERTION entities.

    IG_VECT_ENT_INSERTION references IG_VECT_ENT_BLOCK.

    glyph

    unicode

    d

    Attributes listed below are only stored and saved back to SVG, but are not used for display:

    horiz-adv-x

    vert-adv-y

     

    Stored as part of a HIG_VECT_FONT object.

    Glyphs that correspond to a sequence of two or more Unicode characters are not supported.

    image

    class

    id

    style

    transform

    xlink:href

    x

    y

    width

    height

    clip-path

    display

    visibility

    IG_VECT_ENT_RASTER entity.

    line

    class

    id

    style

    transform

    x1

    y1

    x2

    y2

    clip-path

    color

    dash-repeat

    display

    marker-end

    marker-start

    opacity

    stroke

    stroke-dasharray

    stroke-linecap

    stroke-width

    visibility

    IG_VECT_ENT_EASYLINE entity.

    linearGradient

    class

    id

    style

    x1

    x2

    y1

    y2

    spreadMethod

    gradientTransform

    gradientUnits

    xlink:href

    See ‘stop’ element

    HIG_VECT_GRADIENT and HIG_VECT_FILLTYPE objects.

    HIG_VECT_FILLTYPE references HIG_VECT_GRADIENT.

    marker

    class

    id

    style

    transform

    markerUnits

    refX

    refY

    markerWidth

    markerHeight

    orient

    clip-path

    color

    dash-repeat

    display

    fill

    fill-opacity

    opacity

    stroke

    stroke-dasharray

    stroke-linecap

    stroke-linejoin

    stroke-width

    text-anchor

    visibility

    font-family

    font-style

    font-variant

    font-size

    font-weight

    font-stretch

    font-size-adjust

    IG_VECT_ENT_BLOCK and IG_VECT_ENT_INSERTION entities.

    IG_VECT_ENT_INSERTION references IG_VECT_ENT_BLOCK.

    path

    class

    id

    style

    transform

    d

    clip-path

    color

    dash-repeat

    display

    fill

    fill-opacity

    fill-rule

    marker-end

    marker-start

    opacity

    stroke

    stroke-dasharray

    stroke-linecap

    stroke-linejoin

    stroke-width

    visibility

    IG_VECT_ENT_FIGURE entity.

    polygon

    class

    id

    style

    transform

    points

    clip-path

    color

    dash-repeat

    display

    fill

    fill-opacity

    fill-rule

    marker-end

    marker-start

    opacity

    stroke

    stroke-dasharray

    stroke-linecap

    stroke-linejoin

    stroke-width

    visibility

    IG_VECT_ENT_POLYLINE entity.

    polyline

    class

    id

    style

    transform

    points

    clip-path

    color

    dash-repeat

    display

    fill

    fill-opacity

    fill-rule

    marker-end

    marker-start

    opacity

    stroke

    stroke-dasharray

    stroke-linecap

    stroke-linejoin

    stroke-width

    visibility stroke-width

    visibility

    IG_VECT_ENT_POLYLINE entity.

    radialGradient

    class

    id

    style

    cx

    cy

    r

    fx

    fy

    spreadMethod

    gradientTransform

    gradientUnits

    xlink:href

    See ‘stop’ element

    HIG_VECT_GRADIENT and HIG_VECT_FILLTYPE objects.

    HIG_VECT_FILLTYPE references HIG_VECT_GRADIENT.

    rect

    class

    id

    style

    transform

    x

    y

    width

    height

    rx

    ry

    clip-path

    color

    dash-repeat

    display

    fill

    fill-opacity

    fill-rule

    marker-end

    marker-start

    opacity

    stroke

    stroke-dasharray

    stroke-width

    visibility

    IG_VECT_ENT_POLYLINE entity.

    stop

    class

    style

    offset

     

    stop-color

    stop-opacity

    Stops within IG_VECT_ENT_GRADIENT. Use Vector Gradient Functions to access the stops.

    Svg

    class

    id

    style

    transform

    x

    y

    width

    height

    viewbox

     

    clip-path

    color

    dash-repeat

    display

    fill

    fill-opacity

    fill-rule

    opacity

    stroke

    stroke-dasharray

    stroke-linecap

    stroke-linejoin

    stroke-width

    text-anchor

    visibility

    font-family

    font-style

    font-variant

    font-size

    font-weight

    font-stretch

    font-size-adjust

    First-level occurrences are interpreted as HIG_VECT_VIEW object.

    Nested occurrences are interpreted as IG_VECT_ENT_BLOCK entity.

    switch

    class

    id

    style

    transform

    clip-path

    color

    dash-repeat

    display

    fill

    fill-opacity

    opacity

    stroke

    stroke-dasharray

    stroke-linecap

    stroke-linejoin

    stroke-width

    text-anchor

    visibility

    font-family

    font-style

    font-variant

    font-size

    font-weight

    font-stretch

    font-size-adjust

    IG_VECT_ENT_BLOCK and IG_VECT_ENT_INSERTION entities.

    IG_VECT_ENT_INSERTION references IG_VECT_ENT_BLOCK.

    symbol

    class

    id

    style

    transform

    clip-path

    color

    dash-repeat

    display

    fill

    fill-opacity

    opacity

    stroke

    stroke-dasharray

    stroke-linecap

    stroke-linejoin

    stroke-width

    text-anchor

    visibility

    font-family

    font-style

    font-variant

    font-size

    font-weight

    font-stretch

    font-size-adjust

    IG_VECT_ENT_BLOCK and IG_VECT_ENT_INSERTION entities.

    IG_VECT_ENT_INSERTION references IG_VECT_ENT_BLOCK.

    text

     

    class

    id

    style

    transform

    x

    y

    dx

    dy

    rotate

    textLength

    lengthAdjust

     

    clip-path

    display

    fill

    fill-opacity

    text-anchor

    visibility

    font-family

    font-style

    font-variant

    font-size

    font-weight

    font-stretch

    font-size-adjust

    IG_VECT_ENT_TEXT entity with one or more HIG_VECT_TEXTOBJ objects.

    tspan

    class

    id

    style

    transform

    x

    y

    dx

    dy

    rotate

    textLength

    lengthAdjust

     

    clip-path

    display

    fill

    fill-opacity

    text-anchor

    visibility

    font-family

    font-style

    font-variant

    font-size

    font-weight

    font-stretch

    font-size-adjust

    IG_VECT_ENT_TEXT entity with one or more HIG_VECT_TEXTOBJ objects.

    use

    class

    id

    style

    transform

    clip-path

    color

    dash-repeat

    display

    fill

    fill-opacity

    opacity

    stroke

    stroke-dasharray

    stroke-linecap

    stroke-linejoin

    stroke-width

    text-anchor

    visibility

    font-family

    font-style

    font-variant

    font-size

    font-weight

    font-stretch

    font-size-adjust

    IG_VECT_ENT_BLOCK and IG_VECT_ENT_INSERTION entities.

    IG_VECT_ENT_INSERTION references IG_VECT_ENT_BLOCK.

    * See SVG format specification for details on SVG elements, attributes, and properties: http://www.w3.org/TR/SVG11/

    ImageGear Vector Entities and Objects Supported for Writing to SVG Format

    ImageGear Entity or Object

    Saved as SVG Element /Property

    HIG_VECT_FONT object

    <font>
          <font-face>
          <glyph>
          <missing-glyph>

    HIG_VECT_FONT object is saved as <font> SVG tag only if it has been created from <font> svg element when loading Svg image. In all other cases HIG_VECT_FONT object is saved as attributes and properties of <text> or <tspan> elements.

    IG_VECT_ENT_EASYLINE

    <line>

    IG_VECT_ENT_BLOCK

    <g>

    IG_VECT_ENT_INSERTION

    <use>

    IG_VECT_ENT_POLYLINE

    <path> or <polyline> depending on whether the entity contains hidden vertices

    IG_VECT_ENT_POLYLINEEX

    <path>

    IG_VECT_ENT_ELLIPSE

    <ellipse>

    IG_VECT_ENT_ARC

    <path>

    IG_VECT_ENT_RASTER

    <image>

    IG_VECT_ENT_BEZIER_CURVE

    <path>

    IG_VECT_ENT_NURBS_SURFACE

    <path>

    IG_VECT_ENT SOLID

    <polyline>

    IG_VECT_ENT_NURBS_CURVE

    <polyline>

    IG_VECT_ENT_FIGURE

    <path>

    IG_VECT_ENT_TEXT

    <text> with <tspan>

      

    Notes: