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_Use

SVG_Use 


 

SVG_Use ( parentSVGObjec ; id {; x ; y ; width ; height {; mode}} ) -> 戻り値 
引数   説明
parentSVGObjec  SVG_Ref in 親要素の参照
id  文字 in シンボル名
倍長整数 in ビューボックスのX位置
倍長整数 in ビューボックスのY位置
width  倍長整数 in ビューボックスの幅
height  倍長整数 in ビューボックスの高さ
mode  文字 in ビューボックスへの調整
戻り値  SVG_Ref in SVGオブジェクト参照

O comando SVG_Use põe uma ocorrência do símbolo no recipiente SVG designado por objetoSVGPai e devolve sua referencia. Se objetoSVGPai não é um documento SVG ou se id não é o nome de um objeto do documento SVG, é gerado um erro.

Um símbolo se utiliza para definir os objetos gráficos, nunca renderiza diretamente, mas pode criar ser instanciado mediante o comando SVG_Use.

O parâmetro id específica o nome do símbolo.

Os parâmetros opcionais x, y, largo e alto especificam o retângulo da área de visualização  (atributo 'Viewbox').

O parâmetro opcional modo permite indicar se a gráfica deve ser adaptada e como, ao tamanho do retângulo de visualização. (Ver o comando SVG_New).

Exemplo  

Definimos uma gráfica composta de dois círculos vermelhos e dois quadrados azuis. Depois utilizamos esta gráfica em um laço para criar 36 ocorrências com diferentes posições, opacidade e rotação.

 $SVG:=SVG_New
  `Desenho do fundo
 SVG_New_rect($SVG;20;20;650;650;0;0;"gray";"lemonchiffon")
  `Definição de um símbolo composto por 2 quadrados e 2 círculos
 $Symbol:=SVG_Define_symbol($SVG;"MySymbol";0;0;110;110;"true")
 SVG_New_circle($Symbol;30;30;25;"red";"palevioletred")
 SVG_New_rect($Symbol;10;60;40;40;0;0;"blue";"cornflowerblue")
 SVG_New_rect($Symbol;60;10;40;40;0;0;"blue";"cornflowerblue")
 SVG_New_circle($Symbol;80;80;25;"red";"palevioletred")
  `Em um grupo…
 $g:=SVG_New_group($SVG)
  `…posicionado a 20 unidades da esquina superior esquerda do documento…
 SVG_SET_TRANSFORM_TRANSLATE($g;20;20)
  `…colocar 36 patrões variando a posição, opacidade e rotação
 For($x;0;540;90) &NBSP`6 colunas
    For($y;0;540;90)  &NBSP`6 linhas
       $use:=SVG_Use($g;"MySymbol";$x;$y;110;110)
       SVG_SET_OPACITY($use;100-($y/12)+($x/12)
       SVG_SET_TRANSFORM_ROTATE($use;($x*(18/50))+($y*(18/50));($x+55);($y+55))
    End for
 End for



参照 

SVG_Define_symbol