SVG_Define_filter ( parentSVGObject ; id {; frameX ; frameY {; frameWidth ; frameHeight {; frameUnit ; filterUnit}}}} ) -> Function result
Parameter | Type | Description | |
---|---|---|---|
parentSVGObject | SVG_Ref | → | Reference of parent element |
id | String | → | Name of symbol |
frameX | Longint | → | Coordinate on X axis |
frameY | Longint | → | Coordinate on Y axis |
frameWidth | Longint | → | Width of target rectangle |
frameHeight | Longint | → | Height of target rectangle |
frameUnit | String | → | Coordinate system of frame |
filterUnit | String | → | Filter system of values |
Function result | SVG_Ref | ← | Reference of filter |
The SVG_Define_filter command sets a new filter in the SVG container designated by parentSVGObject and returns its reference. If parentSVGObject is not an SVG document, an error is generated.
A filter is a succession of graphic operations that will be applied to the target element. The filter element is never rendered directly; it will be applied to an object using the SVG_SET_FILTER command.
The id parameter specifies the name of the marker. The name will be used to associate a filter with an object. If an element with the same name exists, it will be replaced.
The optional frameX, frameY, frameWidth and frameHeight parameters set a rectangular region in the document to which this filter will be applied.
The optional frameUnit parameter sets the coordinate system for the 4 previous parameters. Expected values: “userSpaceOnUse” or “objectBoundingBox” (default value).
The optional filterUnit parameter sets the coordinate system for the lenths and the filter definition properties. Expected values: “userSpaceOnUse” (default value) or “objectBoundingBox”.
In this example, we want to perform the following operations:
$Dom_SVG:=SVG_New
//creation of a rectangle with 50% blue background
$Dom_rect:=SVG_New_rect($Dom_SVG;50;50;50;50;0;0;"blue:50";"blue:50")
//creation of 4% blur filter
$Dom_filter:=SVG_Define_filter($Dom_SVG;"blur")
SVG_Filter_Blur($Dom_filter;4)
SVG_Filter_Offset($Dom_filter;4)
//application of this filter to the rectangle
SVG_SET_FILTER($Dom_rect;"blur")
//saving result in an SVG file
SVG_SAVE_AS_TEXT($Dom_SVG;System folder(Desktop)+"test.svg")
SVG_CLEAR($Dom_SVG)
Result:
SVG_Filter_Blend
SVG_Filter_Blur
SVG_Filter_Offset
SVG_SET_FILTER