Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com

  •  
 
4D v20 R10
SVG_Define_filter

SVG_Define_filter 


 

SVG_Define_filter ( parentSVGObject ; id {; frameX ; frameY {; frameWidth ; frameHeight {; frameUnit ; filterUnit}}}} ) -> Function result 
Parameter Type   Description
parentSVGObject  SVG_Ref in Reference of parent element
id  String in Name of symbol
frameX  Longint in Coordinate on X axis
frameY  Longint in Coordinate on Y axis
frameWidth  Longint in Width of target rectangle
frameHeight  Longint in Height of target rectangle
frameUnit  String in Coordinate system of frame
filterUnit  String in Filter system of values
Function result  SVG_Ref in Reference of filter

O comando SVG_Define_filter define um novo filtro no recipiente SVG designado por objetoSVGPai e devolve sua referencia. Se objetoSVGPai não é um documento SVG, é gerado um erro.

Um filtro é uma sucessão de operações gráficas que se aplicarão ao elemento de destino. O elemento filtro nunca se renderiza diretamente, se aplica a um objeto mediante o comando SVG_SET_FILTER.

O parâmetro id específica o nome do marcador. O nome se utiliza para associar um filtro com um objeto. Se existe um elemento com o mesmo nome, se substitui.

Os parâmetros opcionais marcoX, marcoY, largoMarco e altoMarco definem  uma região retangular do documento ao que se aplica o filtro.

O parâmetro opcional unidadeMarco define o sistema de coordenadas dos 4 parâmetros anteriores. Os valores esperados: "userSpaceOnUse" ou "objectBoundingBox" (valor por padrão).

O parâmetro opcional unidadeFiltro define o sistema de coordenadas para as longitudes e as propriedades de definição do filtro. Os valores esperados são: "userSpaceOnUse" (valor por padrão) ou "objectBoundingBox".

Exemplo  

Neste exemplo, queremos realizar as seguintes operações:

  • criar um retângulo com fundo azul 50%
  • criar um filtro blur 4% e aplicar a este retângulo
  • guardar o resultado em um arquivo SVG em disco.

 $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")
 
  //criação de um retângulo fundo blur 4%
 $Dom_filter:=SVG_Define_filter($Dom_SVG;"blur")
 SVG_Filter_Blur($Dom_filter;4)
 SVG_Filter_Offset($Dom_filter;4)
 
  //aplicação deste filtro ao retângulo
 SVG_SET_FILTER($Dom_rect;"blur")
 
  //guardar o resultado em um arquivo SVG
 SVG_SAVE_AS_TEXT($Dom_SVG;System folder(Desktop)+"test.svg")
 
 SVG_CLEAR($Dom_SVG)

Resultado:



See also 

SVG_Filter_Blend
SVG_Filter_Blur
SVG_Filter_Offset
SVG_SET_FILTER