4D v16

SVG_SET_MARKER

Página Inicial

 
4D v16
SVG_SET_MARKER

SVG_SET_MARKER 


 

SVG_SET_MARKER ( objetoSVG ; id {; posicao} ) 
Parâmetro Tipo   Descrição
objetoSVG  Ref_SVG in Referência de um elemento SVG
id  String in Nome do marcador
posicao  String in Posição do marcador

O comando SVG_SET_MARKER permite associar um marcador ao objeto de referencia objetoSVG. Se objetoSVG não é a referencia de um elemento 'line', 'path', 'polyline' ou 'polygon', é gerado um erro. Se o atributo já existe, seu valor será substituído.

O parâmetro id é o nome do elemento marcador a utilizar segundo o especificado pelo comando SVG_Define_marker. Se este nome não existe, é gerado um erro.

Para apagar um marcador existente, passe a cadeia "none" ou uma cadeia vazia no parâmetro id

O parâmetro opcional posicao permite fixar a posição do marcador com respeito ao objeto. É possível colocar diferentes marcadores (se deseja) ao princípio, final ou em qualquer outro pico de um traço. Os valores podem ser os seguintes:

  • start para colocar um marcador ao começo do traço
  • end para colocar um marcador ao final do traço
  • middle para colocar um marcador em cada pico que não seja ao princípio e ao final.
  • all para colocar marcadores em todos os picos do traço.
    Se omitido este parâmetro, o marcador é colocado ao final do traço.

Desenhar uma flecha:

 $SVG:=SVG_New
  `Definir a flecha
 $arrow:=SVG_Define_marker($SVG;"arrow";0;5;4;3;-1)
 SVG_SET_VIEWBOX($arrow;0;0;10;10)
 $path:=SVG_New_path($arrow;0;0)
 SVG_SET_FILL_BRUSH($path;"black")
 SVG_PATH_LINE_TO($path;10;5)
 SVG_PATH_LINE_TO($path;0;10)
 SVG_PATH_CLOSE($path)
 
 $line:=SVG_New_path($SVG;100;75)
 SVG_SET_STROKE_WIDTH($line;10)
 SVG_PATH_LINE_TO($line;200;75)
 SVG_PATH_LINE_TO($line;250;125)
  `Colocar uma flecha ao final do traço
 SVG_SET_MARKER($line;" arrow ")

Desenhar um diagrama com marcadores diferentes ao início e ao final:

 $SVG:=SVG_New
 SVG_SET_DEFAULT_BRUSHES("red";"red")
 
  `Definir um círculo para marcar os pontos
 $point:=SVG_Define_marker($SVG;"pointMarker";2;2;3;3)
 SVG_SET_VIEWBOX($point;0;0;4;4)
 SVG_New_circle($point;2;2;1)
 
  `Definir um quadrado para o ponto de início
 $start:=SVG_Define_marker($SVG;"startMarker";1;1;2;2)
 SVG_New_rect($start;0;0;2;2)
 
  `Definir um triângulo para o ponto final
 $end:=SVG_Define_marker($SVG;"endMarker";5;5;3;3;60)
 SVG_SET_VIEWBOX($end;0;0;10;10)
 SVG_New_regular_polygon($end;10;3)
 
 ARRAY LONGINT($tX;0)
 ARRAY LONGINT($tY;0)
  `Eixos de X
 For($Lon_i;0;200;20)
    APPEND TO ARRAY($tX;$Lon_i+10)
 End for
  `Dados
 APPEND TO ARRAY($tY;100)
 APPEND TO ARRAY($tY;100)
 APPEND TO ARRAY($tY;30)
 APPEND TO ARRAY($tY;30)
 APPEND TO ARRAY($tY;80)
 APPEND TO ARRAY($tY;60)
 APPEND TO ARRAY($tY;10)
 APPEND TO ARRAY($tY;40)
 APPEND TO ARRAY($tY;50)
 APPEND TO ARRAY($tY;70)
 $line:=SVG_New_polyline_by_arrays($SVG;->$tX;->$tY;"red";"none";5)
  `Ordenar os marcadores:
 SVG_SET_MARKER($line;"startMarker";"start")
 SVG_SET_MARKER($line;"pointMarker";"middle")
 SVG_SET_MARKER($line;"endMarker";"end")



Ver também 

SVG_Define_marker

 
PROPRIEDADES 

Produto: 4D
Tema: Atributos
Número 65931

 
HISTÓRIA 

Criado por: Composant 4D SVG v11.3
Modificado: 4D v13

 
ARTICLE USAGE

4D SVG ( 4D v16)