| 4D v13SVG_Use | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D v13
 SVG_Use 
         | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| SVG_Use ( objetoSVGPai ; id {; x ; y ; largo ; alto {; modo}} ) -> Resultado | ||||||||
| Parâmetro | Tipo | Descrição | ||||||
| objetoSVGPai | SVG_Ref |   | Referencia do elemento pai | |||||
| id | cadeia |   | Nome do símbolo | |||||
| x | Inteiro longo |   | Posição X do retângulo de visualização | |||||
| y | Inteiro longo |   | Posição Y do retângulo de visualização | |||||
| largo | Inteiro longo |   | Largura do retângulo de visualização | |||||
| alto | Inteiro longo |   | Altura do retângulo de visualização | |||||
| modo | cadeia |   | Adaptação ao retângulo de visualização | |||||
| Resultado | SVG_Ref |   | Referencia do traço | |||||
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).
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)   `6 colunas
    For($y;0;540;90)    `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
	Produto: 4D
	Tema: Desenho
	Número 
        65959
        
        
        
	
	Criado por: Composant 4D SVG v11.3