+ All Categories
Home > Documents > 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada...

4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada...

Date post: 10-Sep-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
134
4D SVG Introdução Atributos Cores e gradientes Desenho Documentos Estrutura e definições Filtros Texto Utilitários Anexos Lista alfabética dos comandos
Transcript
Page 1: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

4D SVG

Introdução Atributos Cores e gradientes Desenho Documentos Estrutura e definições Filtros Texto Utilitários Anexos Lista alfabética dos comandos

Page 2: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

Introdução

Componente 4D SVG Ferramentas de desenvolvimento Detalhes de sintaxes

Page 3: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

Componente 4D SVG

SVG (Scalable Vector Graphics) é um formato de arquivo gráfico vetorial de duas dimensões baseado em XML. 4D inclui ummotor de renderização integrado que pode ser utilizado para mostrar os arquivos SVG.A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito de facilitarseus primeiros passos, 4D oferece o componente 4D SVG, que inclui numerosos comandos que podem ser utilizados para criare manipular objetos gráficos comuns. Esta livraria não pretende ser exaustiva, mas satisfazer as necessidades mais frequentesdos desenvolvedores 4D. Tenha em conta que as necessidades adicionais podem ser tratadas com os comandos XML de 4D.

Instalação e implementação

O componente 4D SVG deve ser instalado mínimo em 4D v11 SQL releia 3 (versão 11.3). A base local deve funcionar em modoUnicode (o componente não pode ser utilizado nas bases que funcionam em modo Compatibilidade ASCII).Ao igual que todos os componentes 4D, o componente 4D SVG se instala ao copiar a pasta do componente (4D SVG.4dbase)na pasta Components da base. A pasta Components da base deve estar localizada ao mesmo nível que o arquivo de estrutura.Como os componentes se carregam ao início, a base não deve ser lançada antes de copiar completamente todos os elementos.Se o componente está instalado corretamente, o elemento de 4D SVG aparece na página Métodos da base, na seção "Métodosde componente":

Pode deslocar este elemento para poder ver todos os comandos do componente. Estes comandos podem ser utilizados no editorde métodos de 4D como os comandos 4D ou do plug-in estandarte.Tenha em conta que o componente 4D SVG permite ser beneficiado de janelas adicionais para a seleção de comandos e arenderização do código SVG. Para obter mais informação, consulte a seção Ferramentas de desenvolvimento.

Page 4: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

Ferramentas de desenvolvimento

O componente 4D SVG oferece um conjunto de ferramentas para facilitar a entrada do código e a pré visualização dos gráficosSVG:

a paleta de sintaxesa paleta de coreso visualizador SVG.

Paleta de sintaxes

A paleta de sintaxes lista os comandos do componente 4D SVG agrupados por temas:

Esta paleta permite inserir os comandos do componente no editor de métodos por arrastar e soltar. O comando é colado acontinuação no método com seus parâmetros. Os parâmetros opcionais são precedidos por um roteiro.Para mostrar a paleta de sintaxes, pode:

Executar o método SVGTool_Display_syntax, ouSe você tem instalado 4D Pop faça clique no botão SVG e escolher o comando SVG Component syntax na paleta docomponente 4D Pop, se está utilizando (ver a continuação).

Paleta de cores

A paleta de cores mostra o nome e um exemplo de cada cor especificado na norma SVG, assim como um controle se desliza quepode ser utilizado para mudar a opacidade:

Page 5: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

Pode utilizar esta paleta para inserir uma referencia de cor SVG por arrastar e soltar no editor de métodos de 4D. A cor se inserecomo uma cadeia que inclui o índice de opacidade (por exemplo, "lavanda:30" para a cor lavanda com uma opacidade de 30%).Para maior informação sobre as referencias de cores, consulte a seção Cores SVG.Também pode arrastar e soltar uma cor no editor de formulários 4D. Isto cria um quadrado de cor em forma de imagem SVGestática.Para mostrar a paleta de cores, somente deve executar o método SVGTool_Display_colors.

Visualizador SVG

4D SVG oferece um visualizador SVG que é particularmente útil durante a fase de desenvolvimento:

A janela do visualizador tem duas páginas, acessíveis através dos botões Imagem e Origem ou o menu Apresentação:

Imagem: Esta página oferece uma zona de visualização na que pode arrastar e soltar ou abrir um arquivo imagem SVG (viao menu Arquivo). Também pode mostrar uma referencia SVGTool_SHOW_IN_VIEWER.Fonte: Esta página lhe permite ver o código XML associado a imagem. Pode selecionar e copiar o código, mas não podeser modificado.Quando a janela está no primeiro plano, pode modificar várias opções de visualização e guardar o arquivo imagem no discoutilizando o menu Apresentação:

Page 6: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

Nota: A página "imagem" tem um menu contextual estandarte.Para mostrar a janela de visualização, pode:

Executar o método SVGTool_Display_viewer. Neste caso, a janela aparece vazia.Chamar ao método SVGTool_SHOW_IN_VIEWER passando uma referencia SVG válida para obter uma vista prévia daimagem de referencia (ver a descrição do comando).Faça clique no botão SVG e escolha o comando SVG viewer na paleta do componente 4D Pop, se está utilizando (vermais abaixo).

Integração a 4D Pop

4D Pop é um conjunto de componentes dedicados a produtividade do desenvolvedor e agrupados em uma barra de ferramentasque se integra no entorno de desenvolvimento de 4D

Quando se utiliza ao mesmo tempo 4D Pop e 4D SVG, se agrega um novo botão a barra de ferramentas de 4D Pop:

Este botão permite o acesso direto as ferramentas de ajuda ao desenvolvimento de 4D SVG:

Nota: 4DPop se inclui nas ferramentas adicionais no instalador completo de 4D.

Page 7: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

Detalhes de sintaxes

SVG_Ref

A maioria dos comandos do componente 4D SVG manipulam as estruturas através de referencias de tipo SVG_Ref.Um SVG_Ref é uma expressão de tipo cadeia de 16 caracteres que identifica de forma única uma estrutura SVG carregada emmemória. Pode ser um documento SVG carregado através dos comandos SVG_Copy, SVG_New, SVG_Open_picture ouSVG_Open_file, ou de toda estrutura SVG manipulada por programação (objeto, filtro, traço, etc.).Um SVG_Ref é uma referencia XML. Todas as referencias SVG_Ref podem ser utilizadas como parâmetros refElement doscomandos XML DOM de 4D.Uma vez que não o necessite, lembre chamar ao comando SVG_CLEAR com a referencia SVG_Ref com a finalidade de liberarmemória.

Parâmetros opcionais

A não ser que se especifique o contrário, os argumentos numéricos opcionais se ignoram se o valor é igual a -1 e os argumentostextos se ignoram se a cadeia passada está vazia.

Coordenadas

A não ser que se especifique o contrário, os parâmetros de posição (x, y) e de dimensões (largo, alto, radio) se esperam nosistema de coordenadas usuário atual.

Page 8: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

Atributos

SVG_GET_ATTRIBUTES SVG_Get_ID SVG_SET_ATTRIBUTES SVG_SET_ATTRIBUTES_BY_ARRAYS SVG_SET_DIMENSIONS SVG_SET_FILL_BRUSH SVG_SET_FILTER SVG_SET_ID SVG_SET_MARKER SVG_SET_OPACITY SVG_SET_ROUNDING_RECT SVG_SET_STROKE_BRUSH SVG_SET_STROKE_LINECAP SVG_SET_STROKE_LINEJOIN SVG_SET_STROKE_WIDTH SVG_SET_TRANSFORM_FLIP SVG_SET_TRANSFORM_MATRIX SVG_SET_TRANSFORM_ROTATE SVG_SET_TRANSFORM_SCALE SVG_SET_TRANSFORM_SKEW SVG_SET_TRANSFORM_TRANSLATE SVG_SET_VIEWBOX SVG_SET_VIEWPORT_FILL SVG_SET_VISIBILITY SVG_SET_XY

Page 9: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_GET_ATTRIBUTES

SVG_GET_ATTRIBUTES ( objetoSVG ; pontArrayNomes ; pontArrayValores )

Parâmetro Tipo DescriçãoobjetoSVG SVG_Ref Referencia SVGpontArrayNomes Ponteiro Array cadeia dos nomes de atributospontArrayValores Ponteiro Array cadeia dos valores de atributos

Descrição

O comando SVG_GET_ATTRIBUTES enche os arrays aos que aponta pontArrayNomes e pontArrayValores respectivamentecom os nomes e os valores dos atributos do elemento cuja referencia é passada no parâmetro objetoSVG. Se objetoSVG não éválido ou se este atributo não existe, é gerado um erro.

Page 10: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_Get_ID

SVG_Get_ID ( objetoSVG ) -> Resultado

Parâmetro Tipo DescriçãoobjetoSVG SVG_Ref Referencia do elemento SVGResultado cadeia Nome do elemento

Descrição

O comando SVG_Get_ID devolve o valor do atributo 'id' do elemento cuja referencia é passada no parâmetro objetoSVG. SeobjetoSVG não é válido ou se este atributo não existe, é gerado um erro.

Page 11: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_SET_ATTRIBUTES

SVG_SET_ATTRIBUTES ( objetoSVG ; nomeAtrib ; valorAtrib {; nomeAtrib2 ; valorAtrib2 ; ... ; nomeAtribN ; valorAtribN} )

Parâmetro Tipo DescriçãoobjetoSVG SVG_Ref Referencia de um elemento SVGnomeAtrib cadeia Nome do atributo a designarvalorAtrib cadeia Valor do atributo

Descrição

O comando SVG_SET_ATTRIBUTES permite atribuir um ou vários atributos personalizados a um objeto SVG de referenciaobjetoSVG. Se um ou mais destes atributos já existe, seus valores são substituídos pelos passados como parâmetros.Os atributos e seus valores são passados como parâmetros em pares.

Exemplo

$svg:=SVG_New $object:=SVG_New_rect($svg;10;10;200;200;0;0;"black";"white";2) SVG_SET_ATTRIBUTES($object;"style";"fill:red; stroke:blue; stroke-width:3")

Page 12: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_SET_ATTRIBUTES_BY_ARRAYS

SVG_SET_ATTRIBUTES_BY_ARRAYS ( objetoSVG ; pontArrayNomes ; pontArrayValores )

Parâmetro Tipo DescriçãoobjetoSVG SVG_Ref Referencia de um elemento SVGpontArrayNomes Ponteiro Nomes dos atributospontArrayValores Ponteiro Valores sincronizados dos atributos

Descrição

O comando SVG_SET_ATTRIBUTES_BY_ARRAYS permite atribuir um ou mais atributos personalizados a um objeto SVG dereferencia objetoSVG. Se um ou mais de estes atributos já existem, seus valores são substituídos pelos passados comoparâmetros.Os atributos e seus valores são passados por intermédio de dois arrays, aos que apontam pontArrayNomes e pontArrayValores.

Exemplo

$svg:=SVG_New $object:=SVG_New_rect($svg;10;10;200;200;0;0;"black";"white";2) ARRAY TEXT($attributes;0) ARRAY TEXT($values;0) APPEND TO ARRAY($attributes;"fill") APPEND TO ARRAY($values;"red") APPEND TO ARRAY($attributes;"stroke") APPEND TO ARRAY($values;"blue") APPEND TO ARRAY($attributes;"stroke-width") APPEND TO ARRAY($values;"3") SVG_SET_ATTRIBUTES_BY_ARRAYS($object;->$attributes;->$values)

Page 13: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_SET_DIMENSIONS

SVG_SET_DIMENSIONS ( objetoSVG ; largo {; alto {; unidade}} )

Parâmetro Tipo DescriçãoobjetoSVG SVG_Ref Referencia de um elemento SVGlargo Inteiro longo Dimensão no eixo Xalto Inteiro longo Dimensão no eixo Yunidade cadeia Unidade de medida

Descrição

O comando SVG_SET_DIMENSIONS permite fixar as dimensões do objeto SVG de referencia objetoSVG. Se estes atributos jáexistem, seus valores se substituem pelos passados como parâmetros.Se passado o parâmetro unidade, se utilizará. Os valores esperados são: px, pt, pc, cm, mm, in, em, ex ou %. Um valor unidadeincorreto gera um erro. Se o parâmetro se omite, se esperam os valores dos parâmetros largo e alto no sistema de coordenadasusuário.

Exemplo

$svg :=SVG_New ` Criar um novo documento $object:=SVG_New_rect($svg;10;10;200;200;0;0;"black";"white";2) SVG_SET_DIMENSIONS($object;-1;400) `Nova altura

Page 14: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_SET_FILL_BRUSH

SVG_SET_FILL_BRUSH ( objetoSVG ; cor )

Parâmetro Tipo DescriçãoobjetoSVG SVG_Ref Referencia de um elemento SVGcor cadeia Expressão de cor

Descrição

O comando SVG_SET_FILL_BRUSH permite fixar a cor de preenchimento para o objeto SVG de referencia objetoSVG. Se esteatributo já existe, seu valor se substitui pelo valor passado no parâmetro.

Para obter mais informação sobre as referencias de cores, consulte a seção "Cores SVG".

Exemplo

$svg:=SVG_New $object:=SVG_New_rect($svg;10;10;200;200;0;0;"black";"white";2) SVG_SET_FILL_BRUSH($object;"blue")

Page 15: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_SET_FILTER

SVG_SET_FILTER ( objetoSVG ; id )

Parâmetro Tipo DescriçãoobjetoSVG SVG_Ref Referencia de um elemento SVGid cadeia Nome do filtro

Descrição

O comando SVG_SET_FILTER permite associar um filtro ao objeto que tem a referencia objetoSVG. Se objetoSVG não é umareferencia válida, é gerado um erro. Se o atributo já existe, seu valor será substituído.O parâmetro url é o nome do filtro a utilizar segundo o definido pelo comando SVG_Define_filter. Se este nome não existe, égerado um erro.

Exemplo

Ver o exemplo do comando SVG_Define_filter.

Page 16: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_SET_ID

SVG_SET_ID ( objetoSVG ; id )

Parâmetro Tipo DescriçãoobjetoSVG SVG_Ref Referencia de um elemento SVGid cadeia ID a atribuir ao objeto

Descrição

O comando SVG_SET_ID permite estabelecer a propriedade 'ID' do objeto SVG de referencia objetoSVG. Se este atributo jáexiste, seu valor se substitui pelo valor passado no parâmetro.

O ID de um objeto se utiliza para referenciar um objeto. Esta referencia se recupera utilizando o comando SVG_Get_ID. Oidentificador também é utilizado pelo comando 4D SVG Find element ID by coordinates (consulte a documentação de 4D).

Exemplo

$svg:=SVG_New $object:=SVG_New_rect($svg;10;10;200;200;0;0;"black";" white";2) SVG_SET_ID($object;"border")

Page 17: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_SET_MARKER

SVG_SET_MARKER ( objetoSVG ; id {; posicao} )

Parâmetro Tipo DescriçãoobjetoSVG SVG_Ref Referência de um elemento SVGid cadeia Nome do marcadorposicao cadeia Posição do marcador

Descrição

O comando SVG_SET_MARKER permite associar um marcador ao objeto de referência objetoSVG. Se objetoSVG não é areferência de um elemento 'line', 'path', 'polyline' ou 'polygon', é gerado um erro. Se o atributo já existe, seu valor se substitui.

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

O parâmetro opcional posicao permite fixar a posição do marcador com respeito ao objeto. É possível colocar diferentesmarcadores (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çoend para colocar um marcador ao final do traçomiddle 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 omitir este parâmetro, o marcador é colocado ao final do traço.

Exemplo 1

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 ")

Exemplo 2

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

$SVG:=SVG_New SVG_SET_DEFAULT_BRUSHES("red";"red")

Page 18: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

`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")

Page 19: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_SET_OPACITY

SVG_SET_OPACITY ( objetoSVG ; opacidFundo {; linha | nivel } )

Parâmetro Tipo DescriçãoobjetoSVG SVG_Ref Referencia de um elemento SVGopacidFundo Inteiro longo Opacidade (%)linha | nivel Inteiro longo Opacidade (%)

Descrição

O comando SVG_SET_OPACITY permite definir a opacidade do preenchimento e da linha do objeto de referencia objetoSVG.Se estes atributos já existem, seus valores se substituem pelos passados como parâmetros.

Os valores esperados devem estar entre 0 e 100.

Exemplo

$svg:=SVG_New `Criar um novo documento $object:=SVG_New_rect($svg;10;10;200;100;0;0;"red";"blue") SVG_SET_OPACITY($object;-1;50)   `Fixar a opacidade do traço em 50%

Page 20: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_SET_ROUNDING_RECT

SVG_SET_ROUNDING_RECT ( objetoSVG ; arredondadoX {; arredondadoY} )

Parâmetro Tipo DescriçãoobjetoSVG SVG_Ref Referencia de um elemento SVGarredondadoX Inteiro longo Radio no eixo XarredondadoY Inteiro longo Radio no eixo Y

Descrição

O comando SVG_SET_ROUNDING_RECT permite fixar os rádios da elipse utilizada para arredondar as esquinas de umretângulo de referencia objetoSVG. Se estes atributos já existem, seus valores se substituem pelos passados como parâmetros.Se objetoSVG não é a referencia de um retângulo, é gerado um erro.Os valores se esperam no sistema de coordenadas do usuário.

Exemplo

$svg :=SVG_New ` Criar um novo documento $object:=SVG_New_rect($svg ;10;10;200;100) SVG_SET_ROUNDING_RECT($object;20) `Arredondar as esquinas

Page 21: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_SET_STROKE_BRUSH

SVG_SET_STROKE_BRUSH ( objetoSVG ; cor )

Parâmetro Tipo DescriçãoobjetoSVG SVG_Ref Referencia de um elemento SVGcor cadeia Expressão de cor

Descrição

O comando SVG_SET_STROKE_BRUSH permite fixar a cor utilizado para as linhas do objeto SVG de referencia objetoSVG.Se este atributo já existe, seu valor é substituído pelo valor passado em parâmetro.Para mais informação sobre as cores, consulte a seção “Cores SVG”.

Exemplo

$svg:=SVG_New $object:=SVG_New_rect($svg;10;10;200;200;0;0;"black";"white";2) SVG_SET_STROKE_BRUSH($object;"red")

Page 22: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_SET_STROKE_LINECAP

SVG_SET_STROKE_LINECAP ( objetoSVG ; modo )

Parâmetro Tipo DescriçãoobjetoSVG SVG_Ref Referencia de um elemento SVGmodo cadeia Modo de renderização

Descrição

O comando SVG_SET_STROKE_LINECAP permite especificar a forma dos extremos do traço do objeto SVG de referenciaobjetoSVG. Se este atributo já existe, seu valor é substituído pelo valor passado como parâmetro.

O parâmetro modo deve conter uma das seguintes cadeias, gerenciadas pelo SVG:

butt (por padrão): estandarteroundsquareinherit: herdar do objeto pai

Se o parâmetro modo contém qualquer outro valor, é gerado um erro.

Page 23: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_SET_STROKE_LINEJOIN

SVG_SET_STROKE_LINEJOIN ( objetoSVG ; modo )

Parâmetro Tipo DescriçãoobjetoSVG SVG_Ref Referencia de um elemento SVGmodo cadeia Modo de renderização

Descrição

O comando SVG_SET_STROKE_LINEJOIN permite especificar a forma dos extremos do traço do objeto SVG de referenciaobjetoSVG. Se este atributo já existe, seu valor é substituído pelo valor passado como parâmetro.

O parâmetro modo deve conter uma das seguintes cadeias, gerenciadas pelo SVG:

miter (por padrão): estandarteroundbevelinherit: herdar do objeto pai

Se o parâmetro modo contém qualquer outro valor, é gerado um erro.

Page 24: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_SET_STROKE_WIDTH

SVG_SET_STROKE_WIDTH ( objetoSVG ; largoTraco {; unidade} )

Parâmetro Tipo DescriçãoobjetoSVG SVG_Ref Referencia de um elemento SVGlargoTraco Real Largo de linhaunidade cadeia Unidade de medida

Descrição

O comando SVG_SET_STROKE_WIDTH permite estabelecer a grossura das linhas do objeto SVG de referencia objetoSVG.Se este atributo já existe, seu valor se substitui pelo valor passado em parâmetro.

Passe em largoTraco o valor da grossura das linhas. O parâmetro opcional unidade permite especificar a unidade utilizada. Podepassar um dos seguintes valores: px, pt, pc, cm, mm, in, em, ex ou %. Se omitido o parâmetro unidade, o parâmetro largoTracose espera no sistema de coordenadas do usuário.

Exemplo

$svg :=SVG_New SVG_SET_STROKE_WIDTH(SVG_New_rect($svg;10;10;200;200;0;0;"black";"white";2);10)

Page 25: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_SET_TRANSFORM_FLIP

SVG_SET_TRANSFORM_FLIP ( objetoSVG ; horizontal {; vertical} )

Parâmetro Tipo DescriçãoobjetoSVG SVG_Ref Referencia de um elemento SVGhorizontal Booleano Girar horizontalvertical Booleano Girar vertical

Descrição

O comando SVG_SET_TRANSFORM_FLIP permite aplicar um giro horizontal e/ou vertical ao objeto SVG de referenciaobjetoSVG.Se o parâmetro horizontal é igual a True, se aplica um giro horizontal.Se o parâmetro vertical é igual a True, se aplica um giro vertical.

Exemplo

Efeito de girar um objeto texto:

svgRef:=SVG_New SVG_SET_VIEWBOX(svgRef;0;0;400;200) $tx:=SVG_New_text(svgRef;"4D";10;0;"";96) SVG_SET_FONT_COLOR($tx;"blue") `Mudar a cor `Efeito: $tx:=SVG_New_text(svgRef;"4D";10;0;"";96) `Tomar o mesmo texto SVG_SET_FONT_COLOR($tx;"lightblue") `Mudar a cor SVG_SET_TRANSFORM_FLIP($tx;Vrai) `Aplicar um giro vertical SVG_SET_TRANSFORM_SKEW($tx;-10) `Inclinação SVG_SET_TRANSFORM_TRANSLATE($tx;-17;-193) `Reposicionar

Page 26: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_SET_TRANSFORM_MATRIX

SVG_SET_TRANSFORM_MATRIX ( objetoSVG ; a ; b {; c ; d {; e ; f}} )

Parâmetro Tipo DescriçãoobjetoSVG SVG_Ref Referencia de um elemento SVGa Inteiro longo Elemento a da matriz de transformaçãob Inteiro longo Elemento b da matriz de transformaçãoc Inteiro longo Elemento c da matriz de transformaçãod Inteiro longo Elemento d da matriz de transformaçãoe Inteiro longo Elemento e da matriz de transformaçãof Inteiro longo Elemento f da matriz de transformação

Descrição

O comando SVG_SET_TRANSFORM_MATRIX aplica uma transformação matricial ao objeto SVG de referencia objetoSVG.Este tipo de transformação permite combinar as transformações tais como, por exemplo, uma rotação e uma tradução.

Exemplo

SVG_SET_TRANSFORM_MATRIX($ID;0,707;-0,707;0,707;0,707;255,03;111,21) `Equivale a aplicar as 3 transformações seguintes: SVG_SET_TRANSFORM_TRANSLATE($ID;50;90) SVG_SET_TRANSFORM_ROTATE($ID;-45) SVG_SET_TRANSFORM_TRANSLATE($ID;130;160)

Page 27: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_SET_TRANSFORM_ROTATE

SVG_SET_TRANSFORM_ROTATE ( objetoSVG ; angulo {; x ; y} )

Parâmetro Tipo DescriçãoobjetoSVG SVG_Ref Referencia de um elemento SVGangulo Inteiro longo Ângulo de rotaçãox Inteiro longo Coordenada do centro de rotação no eixo Xy Inteiro longo Coordenada do centro de rotação no eixo Y

Descrição

O comando SVG_SET_TRANSFORM_ROTATE aplica uma rotação do valor angulo ao objeto SVG de referencia objetoSVG.O ângulo de rotação que se espera em graus, a rotação é feita para a direita.

Se não passam os parâmetros opcionais x e y, a rotação se realiza com respeito a origem do sistema de coordenadas usuárioatual. Se estes parâmetros são passados, a rotação é realizada com respeito as coordenadas passadas (x, y).

Exemplo

svgRef:=SVG_New `Desenhar um retângulo vermelho com um borde azul $rec:=SVG_New_rect($svg;150;50;200;400;0;0;"blue";"red";10) `Aplicar uma rotação de 10° no sentido das mãos do relógio com respeito ao centro SVG_SET_TRANSFORM_ROTATE($rec;370;175;225)

Page 28: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_SET_TRANSFORM_SCALE

SVG_SET_TRANSFORM_SCALE ( objetoSVG ; escalaX {; escalaY} )

Parâmetro Tipo DescriçãoobjetoSVG SVG_Ref Referencia de um elemento SVGescalaX Real Valor no eixo XescalaY Real Valor no eixo Y

Descrição

O comando SVG_SET_TRANSFORM_SCALE aplica uma mudança de escala horizontal e/ou vertical a um objeto SVG dereferencia objetoSVG.

Se o valor escalaX não é nulo, o objeto aumenta (valor > 1) o diminui (0 < valor < 1) horizontalmente o número de unidadespassadas. O valor igual a 1 não muda a escala do objeto.

Se passado o parâmetro escalaY, o objeto aumenta (valor > 1) ou diminui (0 < valor < 1) verticalmente o número de unidadespassadas. O valor igual a 1 não muda a escala do objeto. Se omitido este parâmetro, seu valor se supõe que é igual a escalaX.

Exemplo

$SVG:=SVG_New $Text:=SVG_New_text($SVG;"Hello world!";5) SVG_SET_TRANSFORM_SCALE($Text;3;12) `Zoom x*3 y*12

Page 29: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_SET_TRANSFORM_SKEW

SVG_SET_TRANSFORM_SKEW ( objetoSVG ; horizontal {; vertical} )

Parâmetro Tipo DescriçãoobjetoSVG SVG_Ref Referencia de um elemento SVGhorizontal Inteiro longo Valor de inclinação ao largo do eixo Xvertical Inteiro longo Valor de inclinação ao largo do eixo Y

Descrição

O comando SVG_SET_TRANSFORM_SKEW especifica uma inclinação horizontal e/ou vertical do objeto SVG de referenciaobjetoSVG.

Se o valor de horizontal não é nulo, o objeto se inclina horizontalmente em função do número de unidades passadas, casocontrário, é ignorada.

Se o valor de vertical não é nulo, o objeto se inclina verticalmente em função do número de unidades passadas.

Exemplo

$svg :=SVG_New `Desenho do fundo SVG_New_rect($svg;0;0;270;160;10;10;"black";"gray") `Colocar o texto… $tx:=SVG_New_text($svg;"Hello world!";100;5;"";48) `em branco SVG_SET_FONT_COLOR($tx;"white") `Inclinação SVG_SET_TRANSFORM_SKEW($tx;-50;10)

Page 30: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_SET_TRANSFORM_TRANSLATE

SVG_SET_TRANSFORM_TRANSLATE ( objetoSVG ; x {; y} )

Parâmetro Tipo DescriçãoobjetoSVG SVG_Ref Referencia de um elemento SVGx Inteiro longo Coordenada no eixo Xy Inteiro longo Coordenada no eixo Y

Descrição

O comando SVG_SET_TRANSFORM_TRANSLATE especifica uma tradução horizontal e/ou vertical do objeto SVG dereferencia objetoSVG.Se o valor de x não é nulo, o objeto será movido horizontalmente o número de unidades passadas, caso contrário, será ignorada.Se passado o parâmetro y, o objeto será movido verticalmente o número de unidades passadas.

Exemplo

svgRef:=SVG_New `Desenhar um retângulo vermelho $Object:=SVG_New_rect(svgRef;0;0;200;100;0;0;"black";"red") `Desenhar um quadrado em 0,0 $Object:=SVG_New_rect(svgRef;0;0;20;20) `Mover o quadrado a 150,50 SVG_SET_TRANSFORM_TRANSLATE($Object;150;50)

Page 31: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_SET_VIEWBOX

SVG_SET_VIEWBOX ( objetoSVG ; x ; y ; largo ; alto {; modo} )

Parâmetro Tipo DescriçãoobjetoSVG SVG_Ref Referencia de um elemento SVGx Real Posição X do retângulo de visualizaçãoy Real Posição Y do retângulo de visualizaçãolargo Real Largura do retângulo de visualizaçãoalto Real Altura do retângulo de visualizaçãomodo Texto Adaptação ao retângulo de visualização

Descrição

O comando SVG_SET_VIEWBOX permite definir o retângulo de visualização do objeto SVG de referencia objetoSVG. Se esteatributo já existe, seu valor se substitui pelo valor passado em parâmetro.Os valores se esperam no sistema de coordenadas usuário.O parâmetro opcional modo permite indicar se a gráfica deve ser adaptada ao tamanho do retângulo de visualização. O valoresperado para modo deve ser reconhecido por SVG: ‘none’, ‘xMinYMin’, ‘xMidYMin’, ‘xMaxYMin’, ‘xMinYMid’, ‘xMidYMid’,‘xMaxYMid’, ‘xMinYMax’, ‘xMidYMax’, ‘xMaxYMax’ e ‘true’ (para xMidYMid).

Exemplo

`Criar um documento SVG de 4x8cm $svg:=SVG_New SVG_SET_DIMENSIONS($SVG;4;8;"cm") `Declarar o sistema de coordenadas usuário como 1 cm = 250 pontos usuário SVG_SET_VIEWBOX($svg;0;0;1000;2000;"true")

Page 32: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_SET_VIEWPORT_FILL

SVG_SET_VIEWPORT_FILL ( objetoSVG {; cor {; opacidade}} )

Parâmetro Tipo DescriçãoobjetoSVG SVG_Ref Referencia de um elemento SVGcor cadeia Cor de preenchimentoopacidade Inteiro longo Porcentagem de opacidade

Descrição

O comando SVG_SET_VIEWPORT_FILL permite fixar a cor de fundo de um documento SVG de referencia objetoSVG.Se este atributo já existe, seu valor se substitui pelo valor passado como parâmetro. Se objetoSVG é um elemento SVG que nãoaceita este atributo, é gerado um erro.O parâmetro opcional cor indica a cor a utilizar para o fundo da imagem. Se este parâmetro é omitido ou contém uma cadeiavazia, se utiliza o branco. Para mais informação sobre cores, consulte a seção Cores SVG.O parâmetro opcional opacidade pode ser usado para precisar o valor da porcentagem de opacidade a aplicar a estepreenchimento. Se este parâmetro é omitido ou se não foi especificado opacidade para o documento, se utiliza o valor do 100%.

Page 33: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_SET_VISIBILITY

SVG_SET_VISIBILITY ( objetoSVG {; ocultar} )

Parâmetro Tipo DescriçãoobjetoSVG SVG_Ref Referencia de um elemento SVGocultar Booleano True = Mostrar, False = Ocultar

Descrição

O comando SVG_SET_VISIBILITY esconde ou mostra o objeto SVG de referencia objetoSVG. Se objetoSVG não é a referenciade um objeto que pode ser ocultado, é gerado um erro.Se o parâmetro opcional ocultar é True ou é omitido, o objeto é mostrado. Se é False, o objeto se oculta.

Exemplo

$svg&NBSP;:=SVG_New $object:=SVG_New_rect($svg;10;10;200;200;0;0;"black";" white";2) SVG_SET_VISIBILITY($object;False) `O objeto é descrito mas não será renderizado.

Page 34: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_SET_XY

SVG_SET_XY ( objetoSVG ; x {; y} )

Parâmetro Tipo DescriçãoobjetoSVG SVG_Ref Referencia de um elemento SVGx Inteiro longo Coordenada no eixo Xy Inteiro longo Coordenada no eixo Y

Descrição

O comando SVG_SET_XY permite fixar as coordenadas da esquina superior esquerda da área retangular onde o objeto SVG dereferencia objetoSVG é localizado. Se estes atributos já existem, seus valores são substituídos pelos passados comoparâmetros. Se objetoSVG é um elemento SVG que não aceita este atributo, é gerado um erro.

Os valores se esperam no sistema de coordenadas do usuário.

Exemplo

$svg&NBSP;:=SVG_New `Criar um novo documento $object:=SVG_New_image($svg;"#Pictures/logo4D.png") `Colocar o logo SVG_SET_XY($object;10;40) `Modificar a posição da imagem

Page 35: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

Cores e gradientes

Cores SVG SVG_Color_grey SVG_Color_RGB_from_long SVG_GET_DEFAULT_BRUSHES SVG_SET_DEFAULT_BRUSHES

Page 36: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

Cores SVG

Definição de cores

SVG reconhece todas as sintaxes alternativas para as cores definidas na norma CSS2. Os comandos do componente 4D SVGsuportam todas estas sintaxes.Uma cor pode ser expressada em uma das seguintes formas:

Formato RGBFormato Exemplo#rgb #f00#rrggbb #ff0000rgb(r,g,b) [#cor(255,0,0)/]

[#cor(100%, 0%, 0%)/]

Formato chave "cor"SVG aceita uma extensa lista de palavras chaves de nomes de cor, por exemplo "red".

A lista de palavras chaves, assim como sua correspondência RGB se encontra no Anexo A, Array de cores. Também pode veresta lista e inserir diretamente os valores de cores via a paleta de cores de 4D SVG. Para obter mais informação sobre esteponto, consulte a seção Ferramentas de desenvolvimento.

Opacidade

É possível especificar a opacidade nas expressões de cor dos comandos do componente utilizando a sintaxes "cor:opacidade",onde a opacidade é um número compreendido entre 0 (sem cor) e 100 (cor totalmente opaca. Portanto "red:50" se interpretarácomo um vermelho em 50% de opacidade.

Gradientes

Os gradientes são transações progressivas de cor ao longo de um vetor. Estes gradientes se definem com os comandosSVG_Define_linear_gradient e SVG_Define_radial_gradient. Uma vez definidos, os gradientes se utilizam por referenciautilizando a sintaxes "url (#NomeDegrada)".

Da mesma forma, é possível definir uma cor personalizada associada a uma opacidade utilizando o comandoSVG_Define_solidColor.

Page 37: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_Color_grey

SVG_Color_grey ( porcentagem ) -> Resultado

Parâmetro Tipo Descriçãoporcentagem Inteiro Intensidade do cinzaResultado cadeia Cadeia cor

Descrição

O comando SVG_Color_grey devolve uma cadeia que expressa um cor cinza com uma intensidade porcentagem. A cadeiadevolvida é da forma "RGB (vermelho, verde, azul)" onde os 3 valores são iguais, sintaxes reconhecida pelos motores derenderização SVG.

Exemplo

$txtColor:=SVG_Color_grey(60) `$txtCor é igual a "#666666"

Page 38: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_Color_RGB_from_long

SVG_Color_RGB_from_long ( cor {; formato} ) -> Resultado

Parâmetro Tipo Descriçãocor Inteiro longo Valor da corformato Inteiro Formato da corResultado cadeia Cadeia cor

Descrição

O comando SVG_Color_RGB_from_long devolve uma cadeia que expressa a cor passada como argumento. A cadeia devolvidaé desta forma "RGB (vermelho, verde, azul)", sintaxes reconhecida pelos motores de renderização SVG.O parâmetro cor é um inteiro longo de 4 bytes cujo formato (0x00RRGGBB) se descreve a continuação (os bytes se numeram do0 ao 3, de direita a esquerda):

Byte Descrição2 Componente vermelho da cor (0..255)1 Componente verde da cor (0..255)0 Componente azul da cor (0..255)

O parâmetro opcional formato permite especificar o formato desejado para a cadeia cor devolvida. Os valores são:Valor Formato1 (por padrão) rgb(r,g,b)2 #rgb3 #rrggbb4 rgb(r%, g%, b%)

Exemplo

$txtColor:=SVG_Color_RGB_from_long($color) `$txtCor vale "#ff8000" se $cor vale 16744448 (orange)

Page 39: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_GET_DEFAULT_BRUSHES

SVG_GET_DEFAULT_BRUSHES ( linha {; fundo} )

Parâmetro Tipo Descriçãolinha Ponteiro Variável Alfafundo Ponteiro Variável Alfa

Descrição

O comando SVG_GET_DEFAULT_BRUSHES devolve, na variável sinalizada por linha, a cor por padrão atual para desenhar aslinhas.Se passado o parâmetro opcional fundo, a variável sinalizada por este parâmetro receberá a cor por padrão atual utilizado paraos fundos.Se não foram modificadas, estas cores são branco e preto, respectivamente.

Exemplo

Ver o exemplo do comando SVG_SET_DEFAULT_BRUSHES.

Page 40: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_SET_DEFAULT_BRUSHES

SVG_SET_DEFAULT_BRUSHES ( linha {; fundo} )

Parâmetro Tipo Descriçãolinha cadeia Corfundo cadeia Cor

Descrição

O comando SVG_SET_DEFAULT_BRUSHES permite fixar as cores por padrão utilizados pelo componente SVG.

O parâmetro linha contém a nova cor que será utilizada para as linhas. O parâmetro opcional fundo contém a nova cor que seráutilizada para o desenho de fundo.

Pode passar uma cadeia vazia em qualquer destes parâmetros com a finalidade de restabelecer o valor por padrão docomponente, ou seja, preto para as linhas e branco para o fundo.

Exemplo

Como Mondrian…

$svg:=SVG_New `Definir as cores por padrão SVG_SET_DEFAULT_BRUSHES("black";"white") `Linhas de 4 pontos de largura SVG_SET_STROKE_WIDTH($svg;4) $g:=SVG_New_group($svg) SVG_New_rect($g;2;2;40;40) SVG_New_rect($g;2;45;40;100) SVG_SET_FILL_BRUSH(SVG_New_rect($g;2;144;40;60);"midnightblue") SVG_SET_FILL_BRUSH(SVG_New_rect($g;42;2;120;142);"red") SVG_New_rect($g;42;144;95;60) SVG_New_rect($g;137;144;25;25) SVG_SET_FILL_BRUSH(SVG_New_rect($g;137;169;25;35);"yellow") SVG_SET_TRANSFORM_TRANSLATE($g;10;10) `Caption SVG_New_text($svg;"Inspirado por Piet Mondrian - 1930,\rComposition II in Red, Blue, andYellow";10;220;"";9)

Page 41: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

Desenho

SVG_ADD_POINT SVG_New_arc SVG_New_circle SVG_New_ellipse SVG_New_ellipse_bounded SVG_New_embedded_image SVG_New_image SVG_New_line SVG_New_path SVG_New_polygon SVG_New_polygon_by_arrays SVG_New_polyline SVG_New_polyline_by_arrays SVG_New_rect SVG_New_regular_polygon SVG_PATH_ARC SVG_PATH_CLOSE SVG_PATH_CURVE SVG_PATH_LINE_TO SVG_PATH_MOVE_TO SVG_PATH_QCURVE SVG_Use

Page 42: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_ADD_POINT

SVG_ADD_POINT ( objetoSVGPai ; x ; y {; x2 ; y2 ; ... ; xN ; yN} )

Parâmetro Tipo DescriçãoobjetoSVGPai SVG_Ref Referencia do elemento paix Inteiro longo Coordenada do novo ponto no eixo Xy Inteiro longo Coordenada do novo ponto no eixo Y

Descrição

O comando SVG_ADD_POINT adiciona um ou mais segmentos a via de acesso referenciada por objetoSVGPai. A via pode serde tipo 'path' "polyline" ou "polygon". Se objetoSVGPai não é uma referencia de um traço deste tipo, é gerado um erro.

Se passados vários pares de coordenadas, os diferentes pontos serão adicionados sucessivamente. Neste caso, se o último parde coordenadas está incompleto (falta y), será ignorado.

Example

Ver os exemplos do comando SVG_New_path.

Page 43: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_New_arc

SVG_New_arc ( objetoSVGPai ; x ; y ; radio ; inicio ; fim {; corPrimeiroPlano {; corFundo {; largoTraco}}} ) -> Resultado

Parâmetro Tipo DescriçãoobjetoSVGPai SVG_Ref Referencia do elemento paix Inteiro longo Coordenada do centro no eixo Xy Inteiro longo Coordenada do centro no eixo Yradio Inteiro longo Radio do círculoinicio Inteiro longo Valor em graus do início do arcofim Inteiro longo Valor em graus do final do arcocorPrimeiroPlano cadeia Nome da cor ou do gradientecorFundo cadeia Nome da cor ou do gradientelargoTraco Real Grossura do traçoResultado SVG_Ref Referencia do arco

Descrição

O comando SVG_New_arc cria um novo arco de círculo no recipiente SVG designado por objetoSVGPai e devolve suareferencia. Se objetoSVGPai não é um documento SVG, é gerado um erro.

Os parâmetros opcionais corPrimeiroPlano e corFundo contém respectivamente o nome da cor da linha e da cor de fundo. (Paramais informação sobre as cores, consulte os comandos do tema Cores e gradientes).

O parâmetro opcional largoTraco contém o tamanho do traço expressado em pixels. Seu valor por padrão é 1.

Exemplo 1

Desenho de um arco de 0° a 90° (cor de preenchimento e borde, grossura do traço por padrão):

svgRef:=SVG_New objectRef:=SVG_New_arc(svgRef;100;100;90;90;180)

Exemplo 2

Desenho de um arco de 90° a 180° de um círculo azul claro com um borde azul e um traço de 2 pontos:

svgRef:=SVG_New objectRef:=SVG_New_arc(svgRef;100;100;90;180;270;"blue";"lightblue";2)

Page 44: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_New_circle

SVG_New_circle ( objetoSVGPai ; x ; y ; radio {; corPrimeiroPlano {; corFundo {; largoTraco}}} ) -> Resultado

Parâmetro Tipo DescriçãoobjetoSVGPai SVG_Ref Referencia do elemento paix Inteiro longo Coordenada do centro no eixo Xy Inteiro longo Coordenada do centro no eixo Yradio Inteiro longo Radio do círculocorPrimeiroPlano cadeia Nome da cor ou do gradientecorFundo cadeia Nome da cor ou do gradientelargoTraco Real Grossura do traçoResultado SVG_Ref Referencia do círculo

Descrição

O comando SVG_New_circle cria um círculo no recipiente SVG designado por objetoSVGPai e devolve sua referencia. SeobjetoSVGPai não é um documento SVG, é gerado um erro.

O círculo se localiza e dimensiona de acordo as coordenadas do centro (x, y) e o radio é passado como parâmetro.

Os parâmetros opcionais corPrimeiroPlano e corFundo contém respectivamente o nome da cor da linha e da cor de fundo. (Paramais informação sobre as cores, consulte os comandos do tema Cores e gradientes).

O parâmetro opcional largoTraco contém o tamanho do traço expressado em pixels. Seu valor por padrão é 1.

Exemplo 1

Desenho de um círculo (cor de preenchimento e de borde, grossura de linha por padrão):

svgRef:=SVG_New objectRef:=SVG_New_circle(svgRef;100;100;90)

Exemplo 2

Desenho de um círculo azul claro com um borde azul e uma grossura de linha de 2 pontos:

svgRef:=SVG_New objectRef:=SVG_New_circle(svgRef;100;100;90;"blue";"lightblue";2)

Page 45: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_New_ellipse

SVG_New_ellipse ( objetoSVGPai ; x ; y ; radioX ; radioY {; corPrimeiroPlano {; corFundo {; largoTraco}}} ) -> Resultado

Parâmetro Tipo DescriçãoobjetoSVGPai SVG_Ref Referencia do elemento paix Inteiro longo Coordenada no eixo X do centro da elipsey Inteiro longo Coordenada no eixo Y do centro da elipseradioX Inteiro longo Radio no eixo XradioY Inteiro longo Radio no eixo YcorPrimeiroPlano cadeia Nome da cor ou do gradientecorFundo cadeia Nome da cor ou do gradientelargoTraco Real Grossura do traçoResultado SVG_Ref Referencia da elipse

Descrição

O comando SVG_New_ellipse cria uma nova elipse no recipiente SVG designado por objetoSVGPai. Se objetoSVGPai não éum documento SVG, é gerado um erro.

A elipse se localiza e dimensiona de acordo aos valores de x, y, largo e alto.

Os parâmetros opcionais corPrimeiroPlano e corFundo contém respectivamente o nome da cor da linha e da cor de fundo. (Paramais informação sobre as cores, consulte os comandos do tema Cores e gradientes).

O parâmetro opcional largoTraco contém o tamanho do traço expressado em píxels. Seu valor por padrão é 1.

Exemplo 1

Desenho de uma elipse (cor de preenchimento e de borde, grossura de linha por padrão):

svgRef:=SVG_New objectRef:=SVG_New_ellipse(svgRef;100;50;90;40)

Exemplo 2

Desenho de uma elipse azul claro com um borde azul e uma grossura de linha de 2 pontos:

svgRef:=SVG_New objectRef:=SVG_New_ellipse(svgRef;100;50;90;40;"blue";"lightblue";2)

Page 46: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_New_ellipse_bounded

SVG_New_ellipse_bounded ( objetoSVGPai ; x ; y ; largo ; alto {; corPrimeiroPlano {; corFundo {; largoTraco}}} ) ->Resultado

Parâmetro Tipo DescriçãoobjetoSVGPai SVG_Ref Referencia do elemento paix Inteiro longo Coordenada da esquina superior esquerda no eixo Xy Inteiro longo Coordenada da esquina superior esquerda no eixo Ylargo Inteiro longo Largura do retângulo que rodeiaalto Inteiro longo Altura do retângulo que rodeiacorPrimeiroPlano cadeia Nome da cor ou do gradientecorFundo cadeia Nome da cor ou do gradientelargoTraco Real Grossura do traçoResultado SVG_Ref Referencia da elipse

Descrição

O comando SVG_New_ellipse_bounded cria uma nova elipse no recipiente SVG designado por objetoSVGPai. SeobjetoSVGPai não é um documento SVG, é gerado um erro.

A elipse criada cabe no retângulo definido por x, y, largo e alto.

Os parâmetros opcionais corPrimeiroPlano e corFundo contém respectivamente o nome da cor da linha e da cor de fundo. (Paramais informação sobre as cores, consulte os comandos do tema Cores e gradientes).

O parâmetro opcional largoTraco contém o tamanho do traço expressado em píxels. Seu valor por padrão é 1.

Exemplo 1

Desenho de uma elipse (cor de preenchimento e de borde, grossura de linha por padrão):

svgRef:=SVG_New objectRef:=SVG_New_ellipse_bounded(svgRef;10;10;200;100)

Exemplo 2

Desenho de uma elipse azul com um borde azul e uma grossura de linha de 2 pontos:

svgRef:=SVG_New objectRef:=SVG_New_ellipse_bounded(svgRef;100;100;200;100;"blue";"lightblue";2)

Page 47: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_New_embedded_image

SVG_New_embedded_image ( objetoSVGPai ; imagem {; x {; y}} ) -> Resultado

Parâmetro Tipo DescriçãoobjetoSVGPai SVG_Ref Referencia do elemento paiimagem Imagem Imagem a incluirx Inteiro longo Coordenada da esquina superior esquerda no eixo Xy Inteiro longo Coordenada da esquina superior esquerda no eixo YResultado SVG_Ref Referencia do traço

Descrição

O comando SVG_New_embedded_image permite incluir imagem no recipiente SVG designado por objetoSVGPai e devolvesua referencia. Se objetoSVGPai não é um documento SVG, é gerado um erro.

A imagem se codifica em base64 depois é incluído no documento.O parâmetro imagem é uma variável ou um campo imagem 4D.

Os parâmetros opcionais x e y permitem precisar a posição da esquina superior direita da imagem no recipiente SVG (valor porpadrão: 0).

Exemplo

Incluir a imagem ‘logo4D.png’ localizada na pasta ‘Resources’:

svgRef:=SVG_New $Path :=Resources folder+"logo4D.png") READ PICTURE FILE($Path;$Picture) If(OK=1) objectRef:=SVG_New_embedded_image(svgRef;$Picture) End if

Page 48: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_New_image

SVG_New_image ( objetoSVGPai ; url {; x ; y {; largo ; alto}} ) -> Resultado

Parâmetro Tipo DescriçãoobjetoSVGPai SVG_Ref Referencia do elemento paiurl cadeia Endereço da imagemx Inteiro longo Coordenada da esquina superior esquerda no eixo Xy Inteiro longo Coordenada da esquina superior esquerda no eixo Ylargo Inteiro longo Largura da imagemalto Inteiro longo Altura da imagemResultado SVG_Ref Referencia da imagem

Descrição

O comando SVG_New_image permite referenciar uma imagem no endereço url no recipiente SVG designado por objetoSVGPaie devolve sua referencia. Se objetoSVGPai não é um documento SVG, é gerado um erro.O parâmetro url especifica a localização da imagem e pode tomar várias formas:

Um URL local (via de acesso da forma: file://…): neste caso, a imagem somente será mostrada se o arquivo é realmenteacessível no momento da renderização do objeto. Esta URL local pode ser relativa (da forma:"#Imagens/minhaImagem.png"), neste caso o comando prefixa a via de acesso com a da pasta Resources da base local.Se os parâmetros largo e alto se omitem, serão calculados pelo comando (o qual deve ser evitado já que isto faz que aexecução do comando seja mais lenta). No caso de uma via relativa, se não é válida, é gerado um erro.Uma URL não local (http://meuSite.com/imagens/minhaImagem.jpeg ). Neste caso, não é executada a verificação davalidez do link e um erro é gerado se omitidos os parâmetros largo e alto.

Os parâmetros opcionais x e y permitem precisar a posição da esquina superior direita da imagem no recipiente SVG (valor porpadrão: 0).Os parâmetros largo e alto especificam o tamanho do retângulo no qual será mostrada a imagem e assim determinar o tamanhoe o rádio de aspecto da imagem. Estes parâmetros só são opcionais no caso de uma imagem referenciada por uma via relativana pasta Resources da base local. Se largo e/ou alto é igual a 0, a imagem não é renderizada.

Exemplo 1

Localizar a imagem ‘logo4D.png’ localizado na pasta 'Pictures’ da pasta ‘Resources’:

svgRef:=SVG_New objectRef:=SVG_New_image(svgRef;"#Pictures/logo4D.png")

Exemplo 2

Localizar a imagem ‘4dlogo.gif’ acessível no diretório ’pictures’ do site ‘4d.com’:

svgRef:=SVG_New objectRef:=SVG_New_image(svgRef;"http://www.4d.com/pictures/4dlogo.gif";20;20;39;53)

Page 49: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_New_line

SVG_New_line ( objetoSVGPai ; startX ; startY ; fimX ; fimY {; cor {; largoTraco}} ) -> Resultado

Parâmetro Tipo DescriçãoobjetoSVGPai SVG_Ref Referencia do elemento paistartX Inteiro longo Posição horizontal de iníciostartY Inteiro longo Posição vertical de iníciofimX Inteiro longo Posição horizontal de fimfimY Inteiro longo Posição vertical de fimcor cadeia Nome da cor ou do gradientelargoTraco Real Grossura do traçoResultado SVG_Ref Referencia de linha

Descrição

O comando SVG_New_line cra uma nova linha no recipiente SVG designado por objetoSVGPai e devolve sua referencia. Oobjeto se localiza de acordo com as coordenadas inicioX, inicioY, fimX e fimY. O recipiente SVG pode ser a raíz do documentoou qualquer outra referencia a um objeto SVG que possa conter este tipo de elemento.

O parâmetro opcional cor contém o nome da cor da linha. (Para mais informação sobre as cores, consulte os comandos do temaCores e gradientes).

O parâmetro opcional largoTraco contém o tamanho da pluma expressada em píxels. Seu valor por padrão é 1.

Exemplo

Desenho de uma linha azul de 3 pixels:

svgRef:=SVG_New objectRef:=SVG_New_line(svgRef;10;10;200;100;"blue";3)

Page 50: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_New_path

SVG_New_path ( objetoSVGPai ; x ; y {; corPrimeiroPlano {; corFundo {; largoTraco}}} ) -> Resultado

Parâmetro Tipo DescriçãoobjetoSVGPai SVG_Ref Referencia do elemento paix Inteiro longo Coordenada do início do traço no eixo Xy Inteiro longo Coordenada do início do traço no eixo YcorPrimeiroPlano cadeia Nome da cor ou do gradientecorFundo cadeia Nome da cor ou do gradientelargoTraco Real Grossura do traçoResultado SVG_Ref Referencia do traço

Descrição

O comando SVG_New_path inicia um novo traço no recipiente SVG designado por objetoSVGPai e devolve sua referencia. SeobjetoSVGPai não é um documento SVG, é gerado um erro.Um traço representa o contorno de uma forma. Um traço se descreve utilizando o conceito de ponto atual. Por analogia com umdesenho no papel, o ponto atual pode ser comparado com a posição da pluma. Este ponto pode mudar e o contorno de umaforma (aberta ou fechada) se pode remontar ao mover a pluma ao longo de uma linha reta ou em curva.Os traços representam a geometria do contorno de um objeto definido de acordo com as instruções dos seguintes elementos:SVG_PATH_MOVE_TO (estabelece um novo ponto atual), SVG_PATH_LINE_TO (desenha uma linha reta),SVG_PATH_CURVE (desenha uma curva com uma curva de Bézier cúbica), SVG_PATH_ARC (desenha um arco circular ouelíptico) e SVG_PATH_CLOSE (fecha a forma atual ao traçar uma linha até o último inicio do traço). É possível ter traçoscompostos (ou seja um traço com vários sub traços) que permitem efeitos como um "buraco de dona" nos objetos.Os parâmetros x e y permitem especificar a posição do inicio do traço no recipiente SVG.

Os parâmetros opcionais corPrimeiroPlano e corFundo contém respectivamente o nome da cor da linha e da cor de fundo. (Paramais informação sobre as cores, consulte os comandos do tema Cores e gradientes).

O parâmetro opcional largoTraco contém o tamanho do traço expressado em píxels. Seu valor por padrão é 1.

Exemplo 1

Desenhar uma linha quebrada fechada:

svgRef:=SVG_New objectRef:=SVG_New_path(svgRef;20;20;"red";"none";5) SVG_PATH_LINE_TO(objectRef;40) SVG_PATH_LINE_TO(objectRef;40;40) SVG_PATH_LINE_TO(objectRef;80;40;80;20;100;20;100;100;80;100;80;80;40;80;40;100;20;100) SVG_PATH_CLOSE(objectRef)

Exemplo 2

Desenhar uma curva de Bezier:

svgRef:=SVG_New objectRef:=SVG_New_path(svgRef;100;200;"aquamarine";"none";10) SVG_PATH_CURVE(objectRef;250;200;100;100;250;100) SVG_PATH_CURVE(objectRef;400;200;400;300)

Exemplo 3

Page 51: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

Comando de arco nos dados de traço:

svgRef:=SVG_New objectRef:=SVG_New_path(svgRef;20;300;"red";"none";2) SVG_SET_OPTIONS(SVG_Get_options?-4)&NBSP;&NBSP; `Mudar a coordenadas relativas SVG_PATH_LINE_TO(objectRef;50;-25) For($Lon_i;1;4;1) SVG_PATH_ARC(objectRef;25;25*$Lon_i;50;-25;-30) SVG_PATH_LINE_TO(objectRef;50;-25) End for

Exemplo 4

Traço complexo (curva de Bezier cúbica):

`Criação de um novo elemento SVG $Txt_svg:=SVG_New(174,96;125,04;"4D Logo";"";True) `Criação de um novo traço $Txt_path:=SVG_New_path($Txt_svg;150,665;13,021) `Definição das cores SVG_SET_STROKE_BRUSH($Txt_path;"#212a6f") SVG_SET_FILL_BRUSH($Txt_path;"#212a6f") ... SVG_PATH_CURVE($Txt_path;-9,683;-6,54;-20,842;-8,888;-33,06;-10,462) SVG_PATH_CURVE($Txt_path;-7,042;-0,915;-14,587;-0,877;-22,087;-0,877) SVG_PATH_CURVE($Txt_path;-1,725;0;-4,312;-0,405;-5,761;0,24) SVG_PATH_CURVE($Txt_path;-1,762;0;-5,092;-0,382;-6,479;0,24) ... SVG_PATH_CURVE($Txt_path;181,489;70,216;177,236;30,976;150,665;13,021) SVG_PATH_MOVE_TO($Txt_path;146,03;98,078) ... SVG_PATH_CURVE($Txt_path;153,11;78,668;151,407;89,558;146,03;98,078)

Exemplo 5

Curva de Bezier quadrática:

`Criação de um novo elemento SVG $svg:=SVG_New `Inicialização do traço preto e sem preenchimento SVG_SET_DEFAULT_BRUSHES("";"none") `Desenhar uma curva de Bezier quadrática em vermelho $qCurve:=SVG_New_path($svg;200;300) SVG_SET_STROKE_BRUSH($qCurve;"red") SVG_SET_STROKE_WIDTH($qCurve;5) SVG_PATH_QCURVE($qCurve;400;50;600;300) SVG_PATH_QCURVE($qCurve;1000;300)

Page 52: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

`Pontos finais em preto $g:=SVG_New_group($svg) SVG_Set_description($g;"End points") SVG_SET_DEFAULT_BRUSHES("black";"black") SVG_New_circle($g;200;300;10) SVG_New_circle($g;600;300;10) SVG_New_circle($g;1000;300;10) `Pontos e linhas de controle em cinza $g:=SVG_New_group($svg) SVG_Set_description($g;"Control points and lines from end points to control points") SVG_SET_DEFAULT_BRUSHES(SVG_Color_grey(50);"none") $path:=SVG_New_path($svg;200;300) SVG_SET_STROKE_WIDTH($path;2) SVG_PATH_LINE_TO($path;400;50;600;300;800;550;1000;300) $gray:=SVG_Color_grey(50) `grey 50% SVG_SET_DEFAULT_BRUSHES($gray;$gray) SVG_New_circle($g;400;50;10) SVG_New_circle($g;800;550;10)

Page 53: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_New_polygon

SVG_New_polygon ( objetoSVGPai {; pontos {; corPrimeiroPlano {; corFundo {; largoTraco}}}} ) -> Resultado

Parâmetro Tipo DescriçãoobjetoSVGPai SVG_Ref Referencia do elemento paipontos cadeia TraçocorPrimeiroPlano cadeia Nome da cor ou do gradientecorFundo cadeia Nome da cor ou do gradientelargoTraco Real Grossura do traçoResultado SVG_Ref Referencia do polígono

Descrição

O comando SVG_New_polygon cria uma nova forma fechada no recipiente SVG designado por objetoSVGPai e devolve suareferencia. Se objetoSVGPai não é uma referencia válida, é gerado um erro.

O parâmetro opcional pontos permite passar os pontos do traço da linha do polígono como é esperado pelo estandarte SVG. Seomitido este parâmetro ou está vazio, os pontos se podem definir com o comando SVG_ADD_POINT.

Os parâmetros opcionais corPrimeiroPlano e corFundo contém respectivamente o nome da cor da linha e da cor de fundo. (Paramais informação sobre as cores, consulte a seção Cores e gradientes).

O parâmetro opcional largoTraco contém o tamanho da pluma expressado em píxels. Seu valor por padrão é 1.

Page 54: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_New_polygon_by_arrays

SVG_New_polygon_by_arrays ( objetoSVGPai ; ponteiroArrayX ; ponteiroArrayY {; corPrimeiroPlano {; corFundo {;largoTraco}}} ) -> Resultado

Parâmetro Tipo DescriçãoobjetoSVGPai SVG_Ref Referencia do elemento paiponteiroArrayX Ponteiro Coordenadas dos pontos no eixo XponteiroArrayY Ponteiro Coordenadas dos pontos no eixo YcorPrimeiroPlano cadeia Nome da cor ou do gradientecorFundo cadeia Nome da cor ou do gradientelargoTraco Real Grossura do traçoResultado SVG_Ref Referencia do polígono

Descrição

O comando SVG_New_polygon_by_arrays desenha uma forma fechada que consiste em um conjunto série de segmentos retosconectados no recipiente SVG designado por objetoSVGPai e devolve sua referencia. Se objetoSVGPai não é um documentoSVG, é gerado um erro.

Todos os valores de coordenadas estão no sistema de coordenadas usuário.

Os parâmetros opcionais corPrimeiroPlano e corFundo contém respectivamente o nome da cor da linha e da cor de fundo. (Paramais informação sobre as cores, consulte a seção Cores e gradientes).

O parâmetro opcional largoTraco contém o tamanho da pluma expressado em píxels. Seu valor por padrão é 1.

Exemplo

Desenho de uma estrela (cor do borde e grossura da linha por padrão):

ARRAY LONGINT($tX;0) ARRAY LONGINT($tY;0) APPEND TO ARRAY($tX;129) APPEND TO ARRAY($tY;10) APPEND TO ARRAY($tX;158) APPEND TO ARRAY($tY;96) APPEND TO ARRAY($tX;248) APPEND TO ARRAY($tY;96) APPEND TO ARRAY($tX;176) APPEND TO ARRAY($tY;150) APPEND TO ARRAY($tX;202) APPEND TO ARRAY($tY;236) APPEND TO ARRAY($tX;129) APPEND TO ARRAY($tY;185) APPEND TO ARRAY($tX;56) APPEND TO ARRAY($tY;236) APPEND TO ARRAY($tX;82) APPEND TO ARRAY($tY;150) APPEND TO ARRAY($tX;10) APPEND TO ARRAY($tY;96) APPEND TO ARRAY($tX;100) APPEND TO ARRAY($tY;96) objectRef:=SVG_New_polygon_by_arrays(svgRef;->$tX;->$tY)

Page 55: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito
Page 56: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_New_polyline

SVG_New_polyline ( objetoSVGPai {; pontos {; corPrimeiroPlano {; corFundo {; largoTraco}}}} ) -> Resultado

Parâmetro Tipo DescriçãoobjetoSVGPai SVG_Ref Referencia do elemento paipontos cadeia TraçocorPrimeiroPlano cadeia Nome da cor ou do gradientecorFundo cadeia Nome da cor ou do gradientelargoTraco Real Grossura do traçoResultado SVG_Ref Referencia de linha

Descrição

O comando SVG_New_polyline cria uma nova linha quebrada aberta no recipiente SVG designado por objetoSVGPai e devolvesua referencia. Se objetoSVGPai não é uma referencia válida, é gerado um erro.

O parâmetro opcional pontos permite passar os pontos do traço da linha como espera o estandarte SVG. Se omitido ou estávazio este parâmetro, os pontos podem ser definidos com o comando SVG_ADD_POINT.

Os parâmetros opcionais corPrimeiroPlano e corFundo contém respectivamente o nome da cor da linha e da cor de fundo. (Paramais informação sobre as cores, consulte a seção Cores e gradientes).

O parâmetro opcional largoTraco contém o tamanho da pluma expressado em píxels. Seu valor por padrão é 1.

Exemplo

Desenho dos triângulos:

$polyline:=SVG_New_polyline($svg;"10,10 200,100 10,100 10,10";"blue";"blue:50") $polyline:=SVG_New_polyline($svg;"";"red";"red:50") SVG_ADD_POINT($polyline;205;15) SVG_ADD_POINT($polyline;15;105) SVG_ADD_POINT($polyline;205;105) SVG_ADD_POINT($polyline;205;15)

Page 57: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_New_polyline_by_arrays

SVG_New_polyline_by_arrays ( objetoSVGPai ; ponteiroArrayX ; ponteiroArrayY {; corPrimeiroPlano {; corFundo {;largoTraco}}} ) -> Resultado

Parâmetro Tipo DescriçãoobjetoSVGPai SVG_Ref Referencia do elemento paiponteiroArrayX Ponteiro Coordenadas dos pontos no eixo XponteiroArrayY Ponteiro Coordenadas dos pontos no eixo YcorPrimeiroPlano cadeia Nome da cor ou do gradientecorFundo cadeia Nome da cor ou do gradientelargoTraco Real Grossura do traçoResultado SVG_Ref Referencia de linha

Descrição

O comando SVG_New_polyline_by_arrays traça uma linha quebrada composta de segmentos retos conectados entre si norecipiente SVG designado por objetoSVGPai e devolve sua referencia. Se objetoSVGPai não é um documento SVG, é geradoum erro.

Geralmente, os elementos "polyline" desenham formas abertas, também podem ser utilizados para formas fechadas. Neste caso,o último ponto deve ser igual ao primeiro.

Todos os valores de coordenadas estão no sistema de coordenadas usuário.

Os parâmetros opcionais corPrimeiroPlano e corFundo contém respectivamente o nome da cor da linha e da cor de fundo. (Paramais informação sobre as cores, consulte a seção Cores e gradientes).

O parâmetro opcional largoTraco contém o tamanho da pluma expressado em píxels. Seu valor por padrão é 1.

Exemplo 1

Desenhar um triângulo (cor de borde e grossura de linha por padrão):

ARRAY LONGINT($tX;0) ARRAY LONGINT($tY;0) APPEND TO ARRAY($tX;10) APPEND TO ARRAY($tY;10) APPEND TO ARRAY($tX;200) APPEND TO ARRAY($tY;100) APPEND TO ARRAY($tX;10) APPEND TO ARRAY($tY;100) APPEND TO ARRAY($tX;10) APPEND TO ARRAY($tY;10) svgRef:=SVG_New objectRef:=SVG_New_polyline_by_arrays(svgRef;->$tX;->$tY)

Exemplo 2

Desenhar um diagrama de linha:

ARRAY LONGINT($tX;0) ARRAY LONGINT($tY;0) `Eixo X

Page 58: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

For($Lon_i;0;200;20) APPEND TO ARRAY($tX;$Lon_i) End for `Valores 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) objectRef:=SVG_New_polyline_by_arrays(svgRef;->$tX;->$tY;"crimson";"none";5)

Page 59: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_New_rect

SVG_New_rect ( objetoSVGPai ; x ; y ; largo ; alto {; arredondarX {; arredondarY {; corPrimeiroPlano {; corFundo {;largoTraco}}}}} ) -> Resultado

Parâmetro Tipo DescriçãoobjetoSVGPai SVG_Ref Referencia do elemento paix Inteiro longo X da esquina superior esquerday Inteiro longo Y da esquina superior esquerdalargo Inteiro longo Largura do retânguloalto Inteiro longo Altura do retânguloarredondarX Inteiro longo Curva horizontalarredondarY Inteiro longo Curva verticalcorPrimeiroPlano cadeia Nome da cor ou do gradientecorFundo cadeia Nome da cor ou do gradientelargoTraco Real Grossura do traçoResultado SVG_Ref Referencia do retângulo

Descrição

O comando SVG_New_rect cria um novo retângulo no recipiente SVG designado por objetoSVGPai e devolve sua referencia. SeobjetoSVGPai não é um documento SVG, é gerado um erro.

O retângulo se localiza e se dimensiona de acordo aos valores de x, y, largo e alto.

Os parâmetros opcionais arredondarX e arredondarY permitem arredondar os ângulos de acordo aos valores indicados. Se oparâmetro arredondarY se omite (o é -1), a curva será regular. Passe 1 nestes parâmetros se quer que sejam ignorados pelocomando.

Os parâmetros opcionais corPrimeiroPlano e corFundo contém respectivamente o nome da cor da linha e da cor de fundo. (Paramais informação sobre as cores, consulte a seção Cores e gradientes).

O parâmetro opcional largoTraco contém o tamanho da pluma expressado em píxels. Seu valor por padrão é 1.

Exemplo 1

Desenho de um retângulo (cor de preenchimento e de borde, grossura de linha por padrão):

svgRef:=SVG_New objectRef:=SVG_New_rect(svgRef;10;10;200;100)

Exemplo 2

Desenho de um retângulo azul com um borde vermelho de 3 pixels:

svgRef:= SVG_NewobjectRef:=SVG_New_rect (svgRef;10;10;200;100;0;0;"red";"blue";3)

Exemplo 3

Desenhe um retângulo azul com bordes arredondados (cor de preenchimento e do borde, grossura de linha por padrão):

Page 60: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

svgRef:=SVG_New objectRef:=SVG_New_rect(svgRef;10;10;100;100;20)

Exemplo 4

Desenho de um retângulo azul claro com esquinas arredondadas e um borde azul (grossura de linha por padrão):

svgRef:=SVG_New objectRef:=SVG_New_rect(svgRef;10;10;200;100;-1;50;"blue";"lightblue")

Page 61: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_New_regular_polygon

SVG_New_regular_polygon ( objetoSVGPai ; largo ; numLados {; x {; y {; corPrimeiroPlano {; corFundo {; largoTraco}}}}} ) -> Resultado

Parâmetro Tipo DescriçãoobjetoSVGPai SVG_Ref Referencia do elemento pailargo Inteiro longo Diâmetro do círculo circundantenumLados Inteiro longo Número de ladosx Inteiro longo Coordenada centro no eixo Xy Inteiro longo Coordenada do centro no eixo YcorPrimeiroPlano cadeia Nome da cor ou do gradientecorFundo cadeia Nome da cor ou do gradientelargoTraco Real Grossura do traçoResultado SVG_Ref Referencia do polígono

Descrição

O comando SVG_New_regular_polygon desenha um polígono regular com o número de lados definido por numLados circunscritono círculo de diâmetro largo no recipiente SVG designado por objetoSVGPai e devolve sua referencia. Se objetoSVGPai não éum documento SVG, é gerado um erro.

Os parâmetros opcionais x e y permitem precisar o centro do círculo. Se omitidos, a figura será desenhada na esquina superioresquerda do documento.

Os parâmetros opcionais corPrimeiroPlano e corFundo contém respectivamente o nome da cor da linha e da cor de fundo. (Paramais informação sobre as cores, consulte os comandos do tema Cores e gradientes).

O parâmetro opcional largoTraco contém o tamanho da pluma expressado em píxels. Seu valor por padrão é 1.

Exemplo 1

Desenho de um pentágono (cor de preenchimento e de borde, grossura de linha por padrão):

svgRef:=SVG_New objectRef:=SVG_New_regular_polygon(svgRef;100;5)

Exemplo 2

Desenho de um octágono, de seu círculo circunscrito e das linhas de traço:

svgRef:=SVG_New $width:=200 $sides:=8 objectRef:=SVG_New_regular_polygon(svgRef;$width;$sides;0;0;"crimson";"palevioletred";2) $radius:=$width/2 objectRef:=SVG_New_rect(svgRef;0;0;$width;$width;0;0;"blue";"none") objectRef:=SVG_New_line(svgRef;0;$radius;$width;$radius;"blue") objectRef:=SVG_New_line(svgRef;$radius;0;$radius;$width;"blue") objectRef:=SVG_New_line(svgRef;0;0;$width;$width;"blue")

Page 62: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

objectRef:=SVG_New_line(svgRef;$width;0;0;$width;"blue") objectRef:=SVG_New_circle(svgRef;$radius;$radius;$radius;"blue";"none")

Page 63: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_PATH_ARC

SVG_PATH_ARC ( objetoSVGPai ; radioX ; radioY ; x ; y {; rotaçao {; traçoArco}} )

Parâmetro Tipo DescriçãoobjetoSVGPai SVG_Ref Referencia de traçoradioX Inteiro longo Radio da elipse no eixo XradioY Inteiro longo Radio da elipse no eixo Yx Inteiro longo Coordenada do ponto de destino no eixo Xy Inteiro longo Coordenada do ponto de destino no eixo Yrotaçao Inteiro longo Valor de rotaçãotraçoArco Inteiro longo Traço do arco

Descrição

O comando SVG_PATH_ARC desenha um arco elíptico, desde o ponto atual ao ponto (x, y), ao final do traço referenciado porobjetoSVGPai. Se objetoSVGPai não é uma referencia de um traço (elemento 'path'), é gerado um erro.

O tamanho e a orientação da elipse são definidos por dois rádios (radioX, radioY) e um valor rotaçao no eixo X que indica arotação da elipse em seu conjunto com respeito ao sistema de coordenadas atual.

O parâmetro opcional traçoArco permite aplicar uma combinação de restrições que vão determinar como será desenhado o arco.A restrição large-arc-flag permite escolher (ou não) o maior dos dois arcos possíveis (maior a 180°) e a restrição sweep-flagdefine o endereço do traço (ângulo positivo ou negativo).

Os seguintes valores, representam as quatro possíveis combinações das duas restrições:

0: large-arc-flag = 0, sweep-flag = 11: large-arc-flag = 1, sweep-flag = 02: large-arc-flag = 0, sweep-flag = 03: large-arc-flag = 1, sweep-flag = 1

Quando large-arc-flag é igual a 1, se desenha o maior arco (e o menor quando é igual a 0). Quando sweep-flag é igual a 1, o arcodesenha em um ângulo positivo (e em um ângulo negativo quando é igual a 0).

O seguinte esquema ilustra as quatro combinações possíveis:

Por padrão, o valor de traçoArco é 0 (large-arc-flag=0, sweep-flag=1)

Exemplo

Ver os exemplos do comando SVG_New_path.

Page 64: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_PATH_CLOSE

SVG_PATH_CLOSE ( objetoSVGPai )

Parâmetro Tipo DescriçãoobjetoSVGPai SVG_Ref Referencia de traço

Descrição

O comando SVG_PATH_CLOSE fecha o sub traço atual referenciado por objetoSVGPai com o desenho de uma linha reta doponto atual ao ponto inicial. Se objetoSVGPai não é a referencia de um traço (elemento ‘path’), é gerado um erro.

Exemplo

Ver os exemplos do comando SVG_New_path.

Page 65: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_PATH_CURVE

SVG_PATH_CURVE ( objetoSVGPai {; controleInicioX ; controleInicioY } ; controleFimX ; controleFimY ; x ; y )

Parâmetro Tipo DescriçãoobjetoSVGPai SVG_Ref Referencia do elemento paicontroleInicioX Inteiro longo Coordenada do ponto de controle no eixo XcontroleInicioY Inteiro longo Coordenada do ponto de controle no eixo YcontroleFimX Inteiro longo Coordenada do ponto de controle no eixo XcontroleFimY Inteiro longo Coordenada do ponto de controle no eixo Yx Inteiro longo Coordenada do ponto de destino no eixo Xy Inteiro longo Coordenada do ponto de destino no eixo Y

Descrição

O comando SVG_PATH_CURVE agrega uma curva de Bézier cúbica do ponto atual ao ponto de coordenadas (x, y) ao traçoreferenciado por objetoSVGPai. Se objetoSVGPai não é uma referencia de um traço (elemento 'path'), é gerado um erro.

Os parâmetros controleInicioX e controleInicioY permitem especificar a posição do ponto de controle ao início da curva. Seomitidos, o primeiro ponto de controle se supõe que é o reflexo do segundo ponto de controle do comando anterior com respeitoao ponto atual.

Os parâmetros controleFimX e controleFimY permitem especificar a posição do ponto de controle ao final da curva.

Exemplo

Ver os exemplos do comando SVG_New_path.

Page 66: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_PATH_LINE_TO

SVG_PATH_LINE_TO ( objetoSVGPai ; x {; y}{; x2 ; y2 ; ... ; xN ; yN} )

Parâmetro Tipo DescriçãoobjetoSVGPai SVG_Ref Referencia do elemento paix Inteiro longo Coordenada no eixo X do novo pontoy Inteiro longo Coordenada no eixo Y do novo ponto

Descrição

O comando SVG_PATH_LINE_TO adiciona um ou mais segmentos retos ao traço referenciado por objetoSVGPai. SeobjetoSVGPai não é uma referencia de um traço (elemento 'path'), é gerado um erro.

Os parâmetros x e y permitem especificar a posição inicial do traço no recipiente SVG.

Se passado o parâmetro x, a linha será traçada horizontalmente desde o ponto atual (xc, yc) ao ponto (x, yc).Se passados x e y, uma linha será desenhada desde o ponto atual (xc, yc) ao ponto (x, y).Se passados vários pares de coordenadas, os diferentes pontos serão somados sucessivamente. Neste caso, se o últimopar de coordenadas está incompleto (falta y), será ignorado.

Example

Ver os exemplos do comando SVG_New_path

Page 67: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_PATH_MOVE_TO

SVG_PATH_MOVE_TO ( objetoSVGPai ; x ; y )

Parâmetro Tipo DescriçãoobjetoSVGPai SVG_Ref Referencia de traçox Inteiro longo Coordenada no eixo Xy Inteiro longo Coordenada no eixo Y

Descrição

O comando SVG_PATH_MOVE_TO começa um novo sub traço no ponto das coordenadas (x, y) dadas no traço referenciadopor objetoSVGPai. Se objetoSVGPai não é uma referencia de um traço (elemento 'path'), é gerado um erro.O efeito que produz é como se a "pluma" será levantada e movida a uma nova localização. O ponto atual se converte no novoponto de partida que terá em conta o comando SVG_PATH_CLOSE.

Example

Consulte os exemplos do comando SVG_New_path.

Page 68: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_PATH_QCURVE

SVG_PATH_QCURVE ( objetoSVGPai {; controleX ; controleY} ; x ; y )

Parâmetro Tipo DescriçãoobjetoSVGPai SVG_Ref Referencia do elemento paicontroleX Inteiro longo Coordenada do ponto de controle no eixo XcontroleY Inteiro longo Coordenada do ponto de controle no eixo Yx Inteiro longo Coordenada do ponto de destino no eixo Xy Inteiro longo Coordenada do ponto de destino no eixo Y

Descrição

O comando SVG_PATH_CURVE agrega uma curva Bezier quadrática do ponto atual ao ponto de coordenadas (x, y) a linhareferenciada por objetoSVGPai. Se objetoSVGPai não é uma referencia de um traço (elemento 'path'), é gerado um erro.

Os parâmetros opcionais controleX e controleY podem ser utilizados para especificar a posição do ponto de controle ao início dacurva. Se omitidos, o primeiro ponto de controle se supõe que é um reflexo do segundo ponto de controle do comando anteriorcom respeito ao ponto atual.

Exemplo

Ver os exemplos do comando SVG_New_path.

Page 69: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_Use

SVG_Use ( objetoSVGPai ; id {; x ; y ; largo ; alto {; modo}} ) -> Resultado

Parâmetro Tipo DescriçãoobjetoSVGPai SVG_Ref Referencia do elemento paiid cadeia Nome do símbolox Inteiro longo Posição X do retângulo de visualizaçãoy Inteiro longo Posição Y do retângulo de visualizaçãolargo Inteiro longo Largura do retângulo de visualizaçãoalto Inteiro longo Altura do retângulo de visualizaçãomodo cadeia Adaptação ao retângulo de visualizaçãoResultado SVG_Ref Referencia do traço

Descriçã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 ocomando 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çopara 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;&NBSP; `6 colunas For($y;0;540;90)&NBSP;&NBSP;&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))

Page 70: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

End for End for

Page 71: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

Documentos

SVG_CLEAR SVG_Copy SVG_Export_to_picture SVG_Export_to_XML SVG_New SVG_Open_file SVG_Open_picture SVG_SAVE_AS_PICTURE SVG_SAVE_AS_TEXT SVG_Validate_file

Page 72: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_CLEAR

SVG_CLEAR {( objetoSVG )}

Parâmetro Tipo DescriçãoobjetoSVG SVG_Ref Referencia do objeto SVG

Descrição

O comando SVG_CLEAR libera a memória ocupada pelo objeto SVG designado por objetoSVG.Se objetoSVG não é um objeto SVG raíz (criado com os comandos SVG_New, SVG_Copy ou SVG_Open_file) é gerado umerro. Se não passar objetoSVG, o comando libera todos os objetos SVG criados utilizando SVG_New, SVG_Copy ou SVG_Open_file.Esta sintaxes é útil durante a fase de desenvolvimento na qual uma referencia SVG pode ser criada, mas a memória não foiliberada porque um erro que impede terminar a execução do método. Em um final de desenvolvimento, toda referencia SVG quejá não se utilize deve ser liberada com o comando SVG_CLEAR.

Page 73: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_Copy

SVG_Copy ( objetoSVG ) -> Resultado

Parâmetro Tipo DescriçãoobjetoSVG SVG_Ref Referencia do objeto SVG a copiarResultado SVG_Ref Referencia do novo objeto SVG

Descrição

O comando SVG_Copy cria um novo documento SVG que é uma cópia do documento referenciado por objetoSVG.

O comando devolve uma cadeia de 16 caracteres (SVG_Ref) que consiste da referencia em memória da estrutura virtual dodocumento. Esta referencia deve ser utilizada com os outros comandos do componente.

Importante: Uma vez que já não a necessite, não esqueça de chamar ao comando SVG_CLEAR com esta referencia paraliberar a memória.

Example

svgRef:=SVG_New ... svgRef Copy:=SVG_Copy(svgRef)

Page 74: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_Export_to_picture

SVG_Export_to_picture ( objetoSVG {; tipoExport} ) -> Resultado

Parâmetro Tipo DescriçãoobjetoSVG SVG_Ref Referencia do objeto SVGtipoExport Inteiro longo 0 = Não guardar a fonte de dados 1 = Copiar a fonte de dados 2 (por padrão) = Fonte de dados própriaResultado Imagem Imagem renderizada pelo motor SVG

Descrição

O comando SVG_Export_to_picture devolve a imagem descrita pela estrutura SVG referenciada por objetoSVG.

O parâmetro opcional tipoExport permite definir a forma em que a fonte de dados XML deve ser tratada pelo comando. Para maisinformação sobre este parâmetro, consulte a descrição do comando SVG EXPORT TO PICTURE de 4D. Se omitido esteparâmetro, o valor por padrão é 1, Copy XML Data Source.

Exemplo

svgRef:=SVG_New(500;200;Test component) ... MyPicture:=SVG_Export_to_picture(svgRef;0) SVG_CLEAR(svgRef)

Page 75: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_Export_to_XML

SVG_Export_to_XML ( objetoSVG ) -> Resultado

Parâmetro Tipo DescriçãoobjetoSVG SVG_Ref Referencia do objeto SVGResultado Texto Texto XML do documento SVG

Descrição

O comando SVG_Export_to_XML devolve o texto XML de descrição da estrutura SVG referenciada por objetoSVG.

Exemplo

svgRef:=SVG_New(500;200;Test component) ... MyText:=SVG_Export_to_XML(svgRef) SVG_CLEAR(svgRef)

Page 76: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_New

SVG_New {( largo ; alto {; titulo {; descriçao {; retangulo {; visualizaçao}}}} )} -> Resultado

Parâmetro Tipo Descriçãolargo Inteiro longo Largura do documento em pontosalto Inteiro longo Altura do documento em pontostitulo cadeia Texto do documentodescriçao cadeia Descriçãoretangulo Booleano Definir o retângulo de visualizaçãovisualizaçao Inteiro Formato de visualização da imagemResultado SVG_Ref Referencia do traço

Descrição

O comando SVG_New cria um novo documento SVG e devolve seu número de referencia.

Os parâmetros opcionais largo e alto permitem delimitar o espaço do documento SVG. Estes dois parâmetros devem serexpressados em pontos usuário ('px'), se deseja especificar outra unidade, deve utilizar o comando SVG_SET_DIMENSIONS.

Os parâmetros opcionais titulo e descriçao permitem dar informação sobre o conteúdo.

Se passar True no parâmetro opcional retangulo, o retângulo de visualização (atributo "viewBox") se ajusta automaticamente aotamanho do documento criado.

Nota: É possível modificar as coordenadas do retângulo de visualização da gráfica e para ajustar a adaptação da imagem commaior precisão utilizando o comando SVG_SET_VIEWBOX.

O parâmetro opcional visualizaçao pode ser utilizado para indicar se a gráfica deve ser adaptada ao tamanho do documento.Pode passar neste parâmetro uma das seguintes constantes do tema Formatos de visualização de imagens de 4D: Scaled to fitprop centered ou Scaled to Fit.

O comando devolve uma cadeia de 16 caracteres (SVG_Ref) que consiste da referencia em memória da estrutura virtual dodocumento. Esta referencia deve ser utilizada com os outros comandos do componente.

Importante: Uma vez que já não necessite, não esqueça de chamar ao comando SVG_CLEAR com esta referencia para liberara memória.

Exemplo

svgRef:=SVG_New svgRef:=SVG_New(500;200) svgRef:=SVG_New(900;700;"Prova componente SVG";"Este é um exemplo";True;Scaled to fit)

Page 77: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_Open_file

SVG_Open_file ( viaAcesso ) -> Resultado

Parâmetro Tipo DescriçãoviaAcesso cadeia Via de acesso do documento SVG a abrirResultado SVG_Ref Referencia do documento aberto

Descrição

O comando SVG_Open_file analisa (e valida com a DTD) o documento SVG que se encontra no lugar designado pelo parâmetroviaAcesso e devolve uma referencia SVG (cadeia de 16 caracteres) para este documento.Importante: Uma vez não a necessite, não esqueça chamar ao comando SVG_CLEAR com esta referencia com o propósito deliberar a memória.

Page 78: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_Open_picture

SVG_Open_picture ( imagem ) -> Resultado

Parâmetro Tipo Descriçãoimagem Imagem Campo ou variável tipo imagem 4DResultado SVG_Ref Referencia do documento SVG

Descrição

O comando SVG_Open_picture analisa uma imagem SVG e devolve uma referencia SVG para esta imagem. Se imagem nãocontém uma imagem SVG, o comando devolve uma cadeia vazia.Importante: Uma vez não necessite, não esqueça chamar ao comando SVG_CLEAR com esta referencia com o propósito deliberar a memória.

Exemplo

READ PICTURE FILE("";$picture) If(OK=1) $ref:=SVG_Open_picture($picture) ... SVG_CLEAR($ref) End if

Page 79: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_SAVE_AS_PICTURE

SVG_SAVE_AS_PICTURE ( objetoSVG ; documento {; codec} )

Parâmetro Tipo DescriçãoobjetoSVG SVG_Ref Referencia do objeto SVGdocumento cadeia Nome do documento ou Via de acesso completa do documentocodec cadeia Codec de identificação de Imagem

Descrição

O comando SVG_SAVE_AS_PICTURE escreve o conteúdo do objeto SVG designado por objetoSVG no arquivo imagemdesignado por nomeArquivo. Se objetoSVG não é um documento SVG, é gerado um erro.

Em nomeArquivo, pode passar a via de acesso completa do arquivo ou só seu nome, em cujo caso o arquivo será criado junto aoarquivo de estrutura da base. Se passar uma cadeia vazia ("") em nomeArquivo, aparece a caixa de diálogo Guardar arquivopara que o usuário possa especificar o nome, a localização e o formato do arquivo a criar.

O parâmetro opcional codec permite especificar o formato no qual guardar a imagem. Se parâmetro é omitido, a imagem éguardada em formato png.

Exemplo

svgRef:=SVG_New(500;200;Sales statistics) ... SVG_SAVE_AS_PICTURE(svgRef;test.png) `Guardar SVG_SAVE_AS_PICTURE(svgRef;test.gif;".gif") SVG_CLEAR(svgRef)

Page 80: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_SAVE_AS_TEXT

SVG_SAVE_AS_TEXT ( objetoSVG ; documento )

Parâmetro Tipo DescriçãoobjetoSVG SVG_Ref Referencia do objeto SVGdocumento cadeia Nome do documento ou Via de acesso do documento

Descrição

O comando SVG_SAVE_AS_TEXT escreve o conteúdo do objeto SVG especificado por objetoSVG no arquivo discoespecificado por nomeArquivo. Se objetoSVG não é um documento SVG, é gerado um erro.

Em nomeArquivo, pode passar a via de acesso completa do arquivo ou somente seu nome, cujo caso o arquivo será criado como arquivo de estrutura da base. Se passa uma cadeia vazia ("") em nomeArquivo, aparece a caixa de diálogo Guardar arquivopara que o usuário possa especificar o nome, o lugar e o formato do arquivo a criar.

Exemplo

svgRef:=SVG_New(500;200;Estatísticas de vendas) ... SVG_SAVE_AS_TEXT(svgRef;test.svg) `O documento é guardado junto a estrutura SVG_CLEAR(svgRef)

Page 81: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_Validate_file

SVG_Validate_file ( viaAcesso ) -> Resultado

Parâmetro Tipo DescriçãoviaAcesso cadeia Via de acesso do documento SVG a validarResultado Booleano True se o documento corresponde a DTD

Descrição

O comando SVG_Validate_file tenta validar o documento SVG armazenado na viAcesso com a DTD (1.0). O comando devolveTrue se o documento está bem e False caso contrário.

Page 82: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

Estrutura e definições

SVG_Define_filter SVG_Define_linear_gradient SVG_Define_marker SVG_Define_radial_gradient SVG_Define_shadow SVG_Define_solidColor SVG_Define_symbol SVG_New_group SVG_Set_description SVG_Set_title

Page 83: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_Define_filter

SVG_Define_filter ( objetoSVGPai ; id {; marcoX ; marcoY {; largoMarco ; altoMarco {; unidadeMarco ; unidadeFiltro}}}} ) ->Resultado

Parâmetro Tipo DescriçãoobjetoSVGPai SVG_Ref Referencia do elemento paiid cadeia Nome do símbolomarcoX Inteiro longo Coordenada no eixo XmarcoY Inteiro longo Coordenada no eixo YlargoMarco Inteiro longo Largura do retângulo objetivoaltoMarco Inteiro longo Altura do retângulo objetivounidadeMarco cadeia Sistema de coordenadas do marcounidadeFiltro cadeia Sistema de valores do filtroResultado SVG_Ref Referencia do filtro

Descrição

O comando SVG_Define_filter define um novo filtro no recipiente SVG designado por objetoSVGPai e devolve sua referencia. SeobjetoSVGPai 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 renderizadiretamente, 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 elementocom o mesmo nome, se substitui.

Os parâmetros opcionais marcoX, marcoY, largoMarco e altoMarco definem uma região retangular do documento ao que seaplica 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ânguloguardar 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:

Page 84: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito
Page 85: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_Define_linear_gradient

SVG_Define_linear_gradient ( objetoSVGPai ; id ; corInicio ; corFim {; rotaçao} ) -> Resultado

Parâmetro Tipo DescriçãoobjetoSVGPai SVG_Ref Referencia do elemento paiid cadeia Nome do gradientecorInicio cadeia Cor de iníciocorFim cadeia Cor de fimrotaçao Inteiro Rotação do vetor de gradienteResultado cadeia Referencia do gradiente

Descrição

O comando SVG_Define_linear_gradient define um novo gradiente linear no recipiente SVG designado por objetoSVGPai edevolve sua referencia. Se objetoSVGPai não é um documento SVG, é gerado um erro.

Um gradiente consiste em uma transição de cor progressiva continua de uma cor a outra ao longo de um vetor. Uma vez definido,os gradientes se chamam em um elemento gráfico dado. Deve indicar se o elemento deve ser preenchido ou bordado com ogradiente chamado.

O parâmetro id especifica o nome do gradiente. Se existe um elemento com o mesmo nome, será substituído. Este nome seráutilizado para chamar ao gradiente cada vez que uma expressão cor se espere utilizando a sintaxes "url (#ID)".

Os parâmetros corInicio e corFim especificam as cores que se utilizam para iniciar e terminar o gradiente.

O parâmetro opcional rotaçao define a posição e a direção do vetor de gradiente (ver exemplo).

Exemplo

Desenhar 6 quadrados aonde cada um utilize um servidor de pintura de gradiente linear que varia a rotação e direção do vetor degradiente:

$svg:=SVG_New SVG_Define_linear_gradient($svg;"demoGradient_1";"red";"yellow") SVG_New_rect($svg;10;10;90;90;0;0;"black";"url(#demoGradient_1)") SVG_New_text($svg;"rotation = 0\rrotation = 180";50;40;"";-1;-1;Center) SVG_Define_linear_gradient($svg;"demoGradient_2";"red";"yellow";180) SVG_New_rect($svg;110;10;90;90;0;0;"black";"url(#demoGradient_2)") SVG_New_text($svg;"rotation = -180";150;50;"";-1;-1;Center) SVG_Define_linear_gradient($svg;"demoGradient_3";"red";"yellow";45) SVG_New_rect($svg;10;110;90;90;0;0;"black";"url(#demoGradient_3)") SVG_New_text($svg;"rotation = 45";50;150;"";-1;-1;Center)

Page 86: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_Define_linear_gradient($svg;"demoGradient_4";"red";"yellow";-45) SVG_New_rect($svg;110;110;90;90;0;0;"black";"url(#demoGradient_4)") SVG_New_text($svg;"rotation = -45";150;150;"";-1;-1;Center) SVG_Define_linear_gradient($svg;"demoGradient_5";"red";"yellow";90) SVG_New_rect($svg;10;210;90;90;0;0;"black";"url(#demoGradient_5)") SVG_New_text($svg;"rotation = 90";50;250;"";-1;-1;Center) SVG_Define_linear_gradient($svg;"demoGradient_6";"red";"yellow";-90) SVG_New_rect($svg;110;210;90;90;0;0;"black";"url(#demoGradient_6)") SVG_New_text($svg;"rotation = -90";150;250;"";-1;-1;Center) `Guardar o documento SVG_SAVE_AS_TEXT($svg;"test.svg") `Liberar memória SVG_CLEAR($svg)

Page 87: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_Define_marker

SVG_Define_marker ( objetoSVGPai ; id {; x ; y {; largo ; alto {; orientaçao}}} ) -> Resultado

Parâmetro Tipo DescriçãoobjetoSVGPai SVG_Ref Referencia do elemento paiid cadeia Nome do símbolox Inteiro longo Coordenada no eixo X do ponto de referenciay Inteiro longo Coordenada no eixo Y do ponto de referencialargo Inteiro longo Largura do marcadoralto Inteiro longo Altura do marcadororientaçao Inteiro longo Orientação do marcadorResultado SVG_Ref Referencia do marcador

Descrição

O comando SVG_Define_marker cria um marcador no recipiente SVG designado por objetoSVGPai e devolve sua referencia.Se objetoSVGPai não é um documento SVG, é gerado um erro.

Um objeto marcador se utiliza para desenhar uma flecha ou marcadores múltiplos (os pontos de uma curva, por exemplo). Ummarcador se adjunta a um elemento SVG com o comando SVG_SET_MARKER.

O parâmetro id específica o nome do marcador. O nome será utilizado para associar um marcador com um objeto. Se existe umelemento com o mesmo nome, será substituído.

Os parâmetros opcionais x e y especificam as coordenadas do ponto de referencia que deve coincidir exatamente com aposição do marcador.

Os parâmetros opcionais largo e alto especificam a largura e altura do retângulo de renderizado.

O parâmetro opcional orientaçao permite ajustar a orientação do marcador. Um valor entre 0 e 360 representa o ângulo entre oeixo X do marcador e do espaço usuário. Se este parâmetro se omite ou se seu valor não está no intervalo 0 - 360 o lugar serácalculado automaticamente pelo motor de renderização em função do objeto.

Exemplo

Consulte o exemplo do comando SVG_SET_MARKER.

Page 88: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_Define_radial_gradient

SVG_Define_radial_gradient ( objetoSVGPai ; id ; corInicio ; corFim {; cx ; cy ; r {; fx ; fy}} ) -> Resultado

Parâmetro Tipo DescriçãoobjetoSVGPai SVG_Ref Referencia do elemento paiid cadeia Nome do gradientecorInicio cadeia Cor de iníciocorFim cadeia Cor de fimcx Inteiro Coordenada do centro de corFim no eixo Xcy Inteiro Coordenada do centro de corFim no eixo Yr Inteiro Radio de corFimfx Inteiro Coordenada do centro de corInicio no eixo Xfy Inteiro Coordenada do centro de corInicio no eixo YResultado cadeia Referencia do gradiente

Descrição

O comando SVG_Define_radial_gradient define um novo gradiente radial no recipiente SVG designado por objetoSVGPai edevolve sua referencia. Se objetoSVGPai não é um documento SVG, é gerado um erro.

Um gradiente consiste em uma transição de cor progressiva continua de uma cor a outra ao longo de um vetor. Uma vez definido,os gradientes se chamam em um elemento gráfico dado. Deve indicar se o elemento deve ser enchido ou bordado com ogradiente chamado.

O parâmetro id especifica o nome do gradiente. Se existe um elemento com o mesmo nome, será substituído. Este nome seráutilizado para chamar ao gradiente cada vez que uma expressão cor se espere utilizando a sintaxes "url (#ID)".

Os parâmetros corInicio e corFim especificam as cores que se utilizam para iniciar e terminar o gradiente.

Os parâmetros opcionais cx, cy e r especificam, em porcentagem, o círculo limite externo de corFim do gradiente. Seus valoresdevem estar entre 0 e 100.

Os parâmetros opcionais fx e fy especificam, em porcentagem, o ponto de foco do gradiente. A corInicio começa no ponto [fx, fy].Seus valores devem estar entre 0 e 100. Se estes argumentos se omitem, este ponto coincide com [cx, cy].

Exemplo

$svg:=SVG_New SVG_Define_radial_gradient($svg;"grad1";"yellow";"red") SVG_New_rect($svg;10;10;90;90;0;0;"black";"url(#grad1)") SVG_New_text($svg;"grad1";12;10) SVG_Define_radial_gradient($svg;"grad2";"yellow";"red";50;50;20;50;50) SVG_New_rect($svg;110;10;90;90;0;0;"black";"url(#grad2)") SVG_New_text($svg;"grad2";112;10) SVG_Define_radial_gradient($svg;"grad3";"yellow";"red";80;60;50;60;80) SVG_New_rect($svg;10;110;90;90;0;0;"black";"url(#grad3)") SVG_New_text($svg;"grad3";12;110) SVG_Define_radial_gradient($svg;"grad4";"yellow";"red";20;50;80;20;30)

Page 89: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_New_rect($svg;110;110;90;90;0;0;"black";"url(#grad4)") SVG_New_text($svg;"grad4";112;110) `Guardar o documento SVG_SAVE_AS_TEXT($svg;"test.svg") `Liberar a memória SVG_CLEAR($svg)

Page 90: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_Define_shadow

SVG_Define_shadow ( objetoSVGPai ; id {; dispersao {; offsetX {; offsetY}}} ) -> Resultado

Parâmetro Tipo DescriçãoobjetoSVGPai SVG_Ref Referencia do elemento paiid cadeia Nome do filtrodispersao Inteiro longo Valor de dispersão da sombraoffsetX Inteiro longo Offset no eixo XoffsetY Inteiro longo Offset no eixo YResultado SVG_Ref Referencia do filtro

Descrição

O comando SVG_Define_shadow estabelece um novo filtro de sombra no recipiente de SVG designado por objetoSVGPai edevolve sua referencia. Se objetoSVGPai não é um documento SVG, é gerado um erro.

Este filtro será aplicado aos objetos para os quais se deseja uma sombra utilizando o comando SVG_SET_FILTER.

O parâmetro id especifica o nome do filtro. Este nome se utiliza para associar um filtro a um objeto. Se existe um elemento com omesmo nome, será substituído.

O parâmetro opcional dispersao define a intensidade da dispersão da sombra. Valor por padrão: 4.

Os parâmetros opcionais offsetX e offsetY definem respectivamente o offset horizontal e vertical da sombra com respeito aoobjeto. Valor por padrão: 4.

Exemplo

Declaração de um filtro que permite gerar uma sombra sobre um texto:

$svg:=SVG_New $text:=SVG_New_text($svg;"SVG";52;76-45;"Verdana";45) SVG_SET_FONT_COLOR($text;"red") `Definir o filtro SVG_Define_shadow($svg;"myShadow") `e aplicar ao texto SVG_SET_FILTER($text;"myShadow")

Page 91: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_Define_solidColor

SVG_Define_solidColor ( objetoSVGPai ; id ; cor {; opacidade} ) -> Resultado

Parâmetro Tipo DescriçãoobjetoSVGPai SVG_Ref Referencia do elemento paiid cadeia Nome da corcor cadeia Cor expressãoopacidade Inteiro longo OpacidadeResultado SVG_Ref Referencia da cor

Descrição

O comando SVG_Define_solidColor define uma nova cor personalizada no recipiente SVG designado por objetoSVGPai edevolve sua referencia. Se objetoSVGPai não é um documento SVG, é gerado um erro.

O parâmetro id específica o nome da cor. O nome será utilizado para associar uma cor a um objeto. Se existe um elemento com omesmo nome, será substituído.

O parâmetro cor é uma expressão cor reconhecida por SVG (ver Cores e gradientes).

O parâmetro opcional opacidade pode ser usado para especificar uma opacidade (de 0 a 100) para esta cor. Se o parâmetro seomite, a opacidade será do 100%.

O conjunto de cores desta maneira será associada com o preenchimento ou o traço de pintura passando a cadeia "url (# ID)"como o valor quando se espera uma expressão de cor.

Example

`Definir um azul ao 50% SVG_Define_solidColor($svg;"MyColor";"blue";50) ... SVG_New_rect($svg;0;0;20;20;0;0;"url(#MyColor)";"url(#MyColor)") ... $line:=SVG_New_line(10;10;100;100) SVG_SET_STROKE_BRUSH($line;"url(#MyColor)")

Page 92: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_Define_symbol

SVG_Define_symbol ( objetoSVGPai ; id {; x {; y {; largo {; alto {; modo}}}}} ) -> Resultado

Parâmetro Tipo DescriçãoobjetoSVGPai SVG_Ref Referencia do elemento paiid cadeia Nome do símbolox Inteiro longo Posição X do retângulo de visualizaçãoy Inteiro longo Posição Y do retângulo de visualizaçãolargo Inteiro longo Largura do retângulo de visualizaçãoalto Inteiro longo Altura do retângulo de visualizaçãomodo cadeia Adaptação ao retângulo de visualizaçãoResultado SVG_Ref Referencia do símbolo

Descrição

O comando SVG_Define_symbol cria um símbolo no recipiente SVG designado por objetoSVGPai e devolve sua referencia. SeobjetoSVGPai não é um documento SVG, é gerado um erro.

Um objeto símbolo se utiliza para definir os objetos gráficos que podem ser instâncias utilizando 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.Para obter mais informação sobre este ponto, consulte a descrição do comando SVG_New.O parâmetro opcional opacidade pode ser usado para especificar uma opacidade (de 0 a 100) para esta cor. Se o parâmetro seomite, a opacidade será de 100%.

O conjunto de cores desta forma será associado com o preenchimento ou o traço de pintura passando a cadeia "url (# ID)" comoo valor quando se espera uma expressão de cor.

Exemplo

Consulte a descrição do comando SVG_Use.

Page 93: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_New_group

SVG_New_group ( objetoSVGPai {; id {; url {; objetivo}}} ) -> Resultado

Parâmetro Tipo DescriçãoobjetoSVGPai SVG_Ref Referencia do elemento paiid cadeia Nome do grupourl cadeia Link externoobjetivo cadeia Objetivo do linkResultado SVG_Ref Referencia do grupo

Descrição

O comando SVG_New_group cria um grupo no recipiente SVG designado por objetoSVGPai e devolve sua referencia. SeobjetoSVGPai não é um grupo ou um documento SVG válido, é gerado um erro.

O grupo (elemento "g") permite agrupar vários elementos gráficos vinculados, que irá herdar as propriedades do grupo.

O parâmetro opcional id permite atribuir um nome ao grupo. Os grupos com nome são necessários para vários propósitos, taiscomo a animação e os objetos reutilizáveis.

O parâmetro opcional url permite associar um link externo. Pode ser feito clique a continuação nos objetos do grupo (similar aoelemento 'a' de HTML).

O parâmetro opcional objetivo especifica o nome do objetivo no qual o documento será aberto quando se ativa o link. Os valoresesperados são os da especificação HTML aos que se sumam os valores "new" para abrir em uma nova janela e 'none', que éequivalente a não processar este atributo.

Nota: Os links externos se ignoram quando o SVG é mostrado em um objeto imagem (variável ou campo) de um formulário 4D. Agestão das referencias externas é realizada pelo motor de renderização. Nestas condições, o resultado pode depender daplataforma e o software de visualização.

Exemplo 1

Criação de um grupo de linhas, todas da mesma cor:

$SVG:=SVG_New $group:=SVG_New_group($SVG) `Atribuir uma cor aos elementos do grupo SVG_SET_STROKE_BRUSH($group;"firebrick") $newobject:=SVG_New_line($group;100;300;300;100;"";5) $newobject:=SVG_New_line($group;300;300;500;100;"";10) $newobject:=SVG_New_line($group;500;300;700;100;"";15) $newobject:=SVG_New_line($group;700;300;900;100;"";20) $newobject:=SVG_New_line($group;900;300;1100;100;"";25)

Exemplo 2

Criação de um texto no qual possa fazer clique:

$SVG:=SVG_New $group:=SVG_New_group($SVG;"w3Link";"http://www.w3.org";"new") $newobject:=SVG_New_text($group;"www.w3.org";10;10;"arial";12;Underline;Align left;"blue")

Page 94: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_Set_description

SVG_Set_description ( objetoSVGPai ; descriçao ) -> Resultado

Parâmetro Tipo DescriçãoobjetoSVGPai SVG_Ref Referencia do elemento paidescriçao cadeia Texto do comentárioResultado SVG_Ref Referencia da descrição

Descrição

O comando SVG_Set_description define um texto para o elemento SVG designado por objetoSVGPai e devolve sua referencia.Se objetoSVGPai não é um elemento SVG, é gerado um erro.

Uma descrição geralmente se utiliza para inserir um comentário ou um texto explicativo no código SVG.

Exemplo

$SVG:=SVG_New $g:=SVG_group($SVG) SVG_Set_title($g;"Vendas da empresa por região") SVG_Set_description($g;"Diagrama em barra das vendas da empresa por região.") ...

Page 95: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_Set_title

SVG_Set_title ( objetoSVGPai ; titulo ) -> Resultado

Parâmetro Tipo DescriçãoobjetoSVGPai SVG_Ref Referencia do elemento paititulo cadeia Texto do títuloResultado SVG_Ref Referencia do título

Descrição

O comando SVG_Set_title define um título para o elemento SVG designado por objetoSVGPai e devolve sua referencia. SeobjetoSVGPai não é um elemento SVG, é gerado um erro.

Um título é um dado textual que não está incluído na imagem renderizada mas é usado para a estruturação de documentoscomplexos. Alguns motores de renderização SVG utilizam o texto deste elemento para mostrar uma mensagem de ajuda quandoo mouse é movido sobre o objeto.

Exemplo

$SVG:=SVG_New $rec:=SVG_New_rect($SVG;20;20;650;650;0;0;"gray";"lemonchiffon") SVG_Set_title($rec;"Retângulo de fundo") $Symbol:=SVG_Define_symbol($SVG;"MySymbol";0;0;110;110;"true") SVG_Set_title($Symbol;" Definição de um símbolo composto por 2 quadrados e 2 círculos ") ...

Page 96: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

Filtros

Filtros SVG SVG_Filter_Blend SVG_Filter_Blur SVG_Filter_Offset

Page 97: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

Filtros SVG

Os comandos do tema "Filtros" permitem definir os efeitos de filtro que se aplicam aos elementos SVG. Um efeito de filtroconsiste em uma sucessão de operações gráficas, aplicadas a uma gráfica fonte, que produz uma gráfica modificada.

O resultado do efeito de filtro se renderiza no dispositivo objetivo no lugar da gráfica fonte original.

Um filtro se define utilizando o comando SVG_Define_filter, que se encontra no tema "Estrutura e definições" e se aplicautilizando o comando SVG_SET_FILTER, que se encontra no tema "Atributos ". Os comandos do tema "Filtros" permitemconstruir as operações de filtrado ou "primitivas de filtro".

Page 98: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_Filter_Blend

SVG_Filter_Blend ( refFiltro ; imagem ; imagemFundo {; modo {; nome}} ) -> Resultado

Parâmetro Tipo DescriçãorefFiltro SVG_Ref Referencia de filtroimagem cadeia Imagem fonteimagemFundo cadeia Imagem de fundo fontemodo cadeia Modo de misturanome cadeia Objetivo da primitiva de filtroResultado SVG_Ref Referencia da primitiva

Descrição

O comando SVG_Filter_Blend define um filtro de composição para o filtro refFiltro e devolve sua referencia. Se refFiltro não éuma referencia de filtro, é gerado um erro.

Este filtro é composto de duas fontes, imagemFundo e imagem, com a ajuda dos modos de mistura que utiliza atualmente osoftware de imagens.

O parâmetro opcional modo permite definir o modo de combinação de los píxels utilizados para a mistura (ver a especificação).Seu valor deve ser: "normal" (valor por padrão), "multiply", "screen", "darken" ou "lighten".

O parâmetro opcional nome é o nome atribuído ao resultado desta primitiva de filtro.Nota: Sob Windows, este comando requer a desativação prévia de Direct2D (ver a constante Direct2D disabled na descrição docomando SET DATABASE PARAMETER).

Exemplo

Em um formulário, mostramos duas imagens SVG idênticas, logo criamos um filtro "blend" e o atribuímos a direita. Este filtro éuma combinação dos filtros "offset" e "blur":

$root:=SVG_New(400;400;"filters test") //definição da primeira imagem (esquerda) $rect:=SVG_New_rect($root;10;10;380;100;0;0;"darkblue";"white";1) SVG_SET_FILL_BRUSH($root;"orange") $textAreaRef:=SVG_New_textArea($root;"Hello World!";10;10;380;100;"arial";60;Normal;Aligncenter) <>pict1:=SVG_Export_to_picture($root) //visualização da primeira imagem $root2:=SVG_New(400;400;"filters test") //definição da imagem direita idêntica //criação do filtro $filter:=SVG_Define_filter($root2;"MyShadow") $vGraph:=True //aplicação da capa gráfica - passe False para aplicar a capa alpha If($vGraph) $ref1:=SVG_Filter_Blur($filter;2;"sourceGraphic";"blurResult") //"blurResult" será utilizadacomo "entrada" do filtro offset Else $ref1:=SVG_Filter_Blur($filter;2;"sourceAlpha";"blurResult") //"blurResult" será utilizadacomo "input" do filtro offset End if //Adição do filtro offset $ref2:=SVG_Filter_Offset($filter;5;5;"blurResult";"alphaBlurOffset") //Adição do filtro blend $ref3:=SVG_Filter_Blend($filter;"sourceGraphic";"alphaBlurOffset";"normal";"finalFilter";) $rect2:=SVG_New_rect($root2;10;10;380;100;0;0;"darkblue";"white";1) SVG_SET_FILL_BRUSH($root2;"orange") $textAreaRef2:=SVG_New_textArea($root2;"Hello World!";10;10;380;100;"arial";60;Normal;Aligncenter) SVG_SET_FILTER($textAreaRef2;"MyShadow") //aplicação do filtro final <>pict2:=SVG_Export_to_picture($root2) //visualização da segunda imagem

Page 99: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

Result (blur input filter = sourceGraphic):

Result (blur input filter = sourceAlpha):

Page 100: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_Filter_Blur

SVG_Filter_Blur ( refFiltro ; desvio {; entrada {; nome}} ) -> Resultado

Parâmetro Tipo DescriçãorefFiltro SVG_Ref Reference of filterdesvio Real Desvio padrão para a operação de tornar embaçadoentrada cadeia Força da primitiva de filtronome cadeia Objetivo da primitiva de filtroResultado SVG_Ref Referencia da primitiva

Descrição

O comando SVG_Filter_Blur define um desfoque Gaussiano para o filtro refFiltro e devolve sua referencia. Se refFiltro não é umareferencia de filtro, é gerado um erro.

O parâmetro desvio permite definir o desvio padrão para a operação de desfoque. Se o número é um número inteiro, o mesmodesvio será aplicado aos eixos X e Y. Se o número inclui uma parte decimal, a parte inteira representa o desvio que será aplicadoao eixo X e a parte decimal representa o desvio que será aplicado ao eixo Y.

O parâmetro opcional entrada identifica a fonte gráfica da primitiva de filtro. Pode passar

"sourceGraphic", indicando que o gráfico é a fonte do filtro (por padrão),ou "sourceAlpha", que indica que o canal alpha é a fonte do filtro.

O parâmetro opcional nome é o nome atribuído ao resultado desta primitiva de filtro.Nota: Sob Windows, este comando requer a desativação prévia de Direct2D (ver a constante Direct2D disabled na descrição docomando SET DATABASE PARAMETER).

Exemplo

Em um formulário, mostramos duas imagens SVG idênticas, logo criamos um filtro "blur" e o atribuímos a imagem a direita.

$root:=SVG_New(400;400;"filters test") //definição da primeira imagem (esquerda) $rect:=SVG_New_rect($root;10;10;380;100;0;0;"darkblue";"white";1) SVG_SET_FILL_BRUSH($root;"orange") $textAreaRef:=SVG_New_textArea($root;"Hello World!";10;10;380;100;"arial";60;Normal;Aligncenter) <>pict1:=SVG_Export_to_picture($root) //visualização da primeira imagem $root2:=SVG_New(400;400;"filters test") //definição da imagem direita idêntica //criação do filtro$filter1:=SVG_Define_filter ($root2;"blur") // filter definition $vGraph:=True //aplicação na capa gráfica - passe False para aplicar a capa alpha If($vGraph) SVG_Filter_Blur($filter1;Deviation{Deviation};"sourceGraphic") Else SVG_Filter_Blur($filter1;Deviation{Deviation};"sourceAlpha") End if $rect2:=SVG_New_rect($root2;10;10;380;100;0;0;"darkblue";"white";1) //definição da imagemdireita idêntica SVG_SET_FILL_BRUSH($root2;"orange") $textAreaRef2:=SVG_New_textArea($root2;"Hello World!";10;10;380;100;"arial";60;Normal;Aligncenter) SVG_SET_FILTER($textAreaRef2;"blur") //aplicação do filtro <>pict2:=SVG_Export_to_picture($root2) //visualização da segunda imagem

Result (input = sourceGraphic):

Page 101: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

Result (input = sourceAlpha):

Page 102: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_Filter_Offset

SVG_Filter_Offset ( refFiltro ; dx {; dy {; entrada {; nome}}} ) -> Resultado

Parâmetro Tipo DescriçãorefFiltro SVG_Ref Referência de filtrodx Inteiro longo Offset no eixo Xdy Inteiro longo Offset no eixo Yentrada cadeia Fonte da primitiva de filtronome cadeia Objetivo da primitiva de filtroResultado SVG_Ref Referencia da primitiva

Descrição

O comando SVG_Filter_Offset define um offset para o filtro refFiltro e devolve sua referencia. Se refFiltro não é uma referencia defiltro, é gerado um erro.

O parâmetro dx é o valor do deslocamento horizontal.O parâmetro opcional dy é o valor do deslocamento vertical.O parâmetro opcional entrada identifica a fonte gráfica da primitiva de filtro. Pode passar

"sourceGraphic", indicando o gráfico como fonte do filtro (por padrão),ou "sourceAlpha", que indica o canal alfa do gráfico como fonte do filtro.

O parâmetro opcional nome é o nome atribuído ao resultado desta primitiva de filtro.Nota: Sob Windows, este comando requer a desativação prévia de Direct2D (ver a constante Direct2D disabled na descrição docomando SET DATABASE PARAMETER).

Exemplo

Em um formulário, mostramos duas imagens SVG idênticas logo criamos um filtro "offset" e o atribuímos a imagem da direita:

$root:=SVG_New(400;400;"filters test") //definição da primeira imagem (esquerda) $rect:=SVG_New_rect($root;10;10;380;100;0;0;"darkblue";"white";1) SVG_SET_FILL_BRUSH($root;"orange") $textAreaRef:=SVG_New_textArea($root;"Hello World!";10;10;380;100;"arial";60;Normal;Aligncenter) <>pict1:=SVG_Export_to_picture($root) //visualização da primeira imagem $root2:=SVG_New(400;400;"filters test") //definição da imagem da direita idêntica $rect2:=SVG_New_rect($root2;10;10;380;100;0;0;"darkblue";"white";1) SVG_SET_FILL_BRUSH($root2;"orange") $textAreaRef2:=SVG_New_textArea($root2;"Hello World!";10;10;380;100;"arial";60;Normal;Aligncenter) $filter:=SVG_Define_filter($root2;"Offset") //criação do filtro SVG_Filter_Offset($filter;10;20) SVG_SET_FILTER($textAreaRef2;"Offset") //aplicação do filtro <>pict2:=SVG_Export_to_picture($root2) //visualização da segunda imagem

Resultado:

Page 103: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

Texto

SVG_New_text SVG_New_textArea SVG_New_tspan SVG_New_vertical_text SVG_SET_FONT_COLOR SVG_SET_FONT_FAMILY SVG_SET_FONT_SIZE SVG_SET_FONT_STYLE SVG_SET_TEXT_ANCHOR

Page 104: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_New_text

SVG_New_text ( objetoSVGPai ; texto {; x {; y {; fonte {; tamanho {; estilo {; alinhamento {; cor {; rotaçao {; espaço {;estiramento }}}}}}}}}} ) -> Resultado

Parâmetro Tipo DescriçãoobjetoSVGPai SVG_Ref Referencia do elemento paitexto Texto Texto a inserirx Real Coordenada no eixo Xy Real Coordenada no eixo Yfonte cadeia Nome da fontetamanho Inteiro longo Tamanho dos caracteres em pontosestilo Inteiro longo Estilo dos caracteresalinhamento Inteiro longo Alinhamentocor cadeia Cor do textorotaçao Real Ângulo de rotação do textoespaço Real Espaço entre linhas em pontosestiramento Real Fator de estiramento horizontalResultado SVG_Ref Referencia do objeto texto SVG

Descrição

The SVG_New_text command inserts the text in text in the SVG container designated by parentSVGObject and returns itsreference. If parentSVGObject is not an SVG document, an error is generated.The optional x and y parameters can be used to specify the position on the X and Y axis of the upper corner of the first character oftext. This point is situated differently according to the alignment value: to the left for a left alignment, to the right for a right alignmentor in the center when the text is centered.The optional font and size parameters can be used to specify the font and its size, in points, to be used. When these parametersare not passed, the text will be written in Times New Roman 12 pt.The optional style parameter gives the character style used. In this parameter, you must pass one of the following styles, or acombination of several of these values:

0 = Plain1 = Bold2 = Italic4 = Underline8 = Strikethrough

The optional alignment parameter can be used to set the type of alignment applied to the text drawn. You can pass one of thefollowing values:

2 = Align left3 = Center4 = Align right

The optional color parameter contains the name of the font color. (For more information about colors, please refer to the ”Colorsand gradients” section).The optional rotation parameter can be used to specify the rotation to be applied to the text.The optional lineSpacing parameter can be used to specify the value of the line spacing if the text has more than one line. Defaultvalue = 1.The optional stretching parameter can be used to specify a horizontal stretching (value >1) or condensing (value included between0 and 1) factor of the text.

Exemplo 1

Texto simples utilizando as propriedades de texto por padrão:

$SVG:=SVG_New $textID:=SVG_New_text($SVG;"Hello world!")

Exemplo 2

Page 105: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

Texto em azul, itálica, sublinhado e alinhado a direita:

$SVG:=SVG_New $text:="Hello world!\rBonjour le monde!\rOlá Mundo!" $size:=48 $font:="helvetica" $textID:=SVG_New_text($SVG;$text;400;10;$font;$size;Italic+Underline;Align right;"blue")

Exemplo 3

Texto vertical:

$SVG:=SVG_New $textID:=SVG_New_text($SVG;$text;-250;0;"";48;-1;-1;"red";-90)

Exemplo 4

Texto condensado ou expandido:

$SVG:=SVG_New $textID:=SVG_New_text($SVG;"Hello world (condensed)";0;0;"";-1;-1;-1;"blue";0;1;0,8) $textID:=SVG_New_text($SVG;"Hello world (normal)";0;24) $textID:=SVG_New_text($SVG;"Hello world (stretched)";0;48;"";-1;-1;-1;"red";0;1;2)

Page 106: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_New_textArea

SVG_New_textArea ( objetoSVGPai ; texto {; x {; y {; largo {; alto {; fonte {; tamanho {; estilo {; alinhamento}}}}}}}} ) ->Resultado

Parâmetro Tipo DescriçãoobjetoSVGPai SVG_Ref Referencia do elemento paitexto Texto Text to insertx Inteiro longo Coordinate on X axisy Inteiro longo Coordinate on Y axislargo Inteiro longo Width of text areaalto Inteiro longo Height of text areafonte Alfa Font nametamanho Inteiro Size of characters in pointsestilo Inteiro Style of charactersalinhamento Inteiro AlignmentResultado SVG_Ref Reference of SVG text object

Descrição

The SVG_New_textArea command inserts a text area in the SVG container designated by parentSVGObject and returns itsreference. If parentSVGObject is not an SVG document, an error is generated.The "textArea" element is recommended by the SVG tiny 1.2 standard and implemented in 4D v11 SQL beginning with version11.3 (see http://www.w3.org/TR/SVGMobile12/text.html#TextAreaElement). This element implements a text area that, unlike the"text" element, automatically handles the line feed when the text exceeds the width requested.Note: In the "textArea" element, <tbreak/> elements replace line returns.The optional x and y parameters can be used to specify the position on the X and Y axes of the top left corner of the area.The optional width and height parameters specify the size of the area in the user coordinate space. If one or the other of theseparameters is not provided, the text area will automatically be fitted to its contents.The optional font and size parameters can be usd to specify the font and size, in points, to be used. When these parameters are notpassed, the text will be written in Times New Roman 12 pt.The optional style parameter gives information about the character style used. In the style parameter, you must pass one of thefollowing values or a combination of several of them:

0 = Plain1 = Bold2 = Italic4 = Underline8 = Strikethrough

The optional alignment parameter can be used to set the type of alignment to be applied to the drawn text. You can pass one of thefollowing values:

1 = Align default (left)2 = Align left3 = Center4 = Align right5 = Justify

Exemplo

$svg:=SVG_New

Page 107: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

`Posicionar um retângulo de borde $rec:=SVG_New_rect($svg;5;5;210;320;0;0;"#777";"peachpuff";3) `O texto $txt:="Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed non risus. Suspendisselectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor." $txtArea:=SVG_New_textArea($svg;$txt;10;10;200;310;"Georgia";25;Italic;5) `Guardar o documento SVG_SAVE_AS_TEXT($svg;"test.svg")

Page 108: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_New_tspan

SVG_New_tspan ( objetoSVGPai ; texto {; x {; y {; fonte {; tamanho {; estilo {; alinhamento {; cor}}}}}}} ) -> Resultado

Parâmetro Tipo DescriçãoobjetoSVGPai SVG_Ref Referencia do elemento paitexto Texto Text to insertx Inteiro longo Coordinate on X axisy Inteiro longo Coordinate on Y axisfonte cadeia Font nametamanho Inteiro Size of characters in pointsestilo Inteiro Style of charactersalinhamento Inteiro Alignmentcor cadeia Text colorResultado SVG_Ref Reference of SVG text object

Descrição

The SVG_New_tspan command creates a new element in the 'text' or ‘tspan’ element designated by parentSVGObject and returnsits reference. If parentSVGObject is not a reference to a 'text' or ‘tspan’ element, an error is generated.The different optional parameters are described with the SVG_New_text command. If certain optional parameters are omitted, theirvalues are inherited from parent element(s).

Exemplo 1

Em um texto, é possível criar parágrafos que herdam as propriedades do pai.

$SVG:=SVG_New `Cria um novo texto em Arial, azul e alinhado a esquerda $textID:=SVG_New_text($SVG;"";0;0;"arial";-1;-1;Align left;"blue") `Parágrafos aninhados com indentação e mudança de tamanho e de estilo $textID:=SVG_New_tspan($textID;"TITLE 1";10;10;"";24;Bold+Underline) $textID:=SVG_New_tspan($textID;"Title 2";20;42;"";12;Bold) $textID:=SVG_New_tspan($textID;"Title 3";30;60;"";10;Bold+Italic) $textID:=SVG_New_tspan($textID;"Title 4";40;78;"";8;Italic)

Exemplo 2

Mudar uma propriedade enquanto permanece em um elemento "texto", aqui o tamanho do texto.

$textID:=SVG_New_text($SVG;"Writing ";10;10;"arial";12) SVG_SET_FONT_SIZE(SVG_New_tspan($textID;"with ");14) SVG_SET_FONT_SIZE(SVG_New_tspan($textID;"SVG ");18) SVG_SET_FONT_SIZE(SVG_New_tspan($textID;"is ");24) SVG_SET_FONT_SIZE(SVG_New_tspan($textID;"easy ");36)

Page 109: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_New_vertical_text

SVG_New_vertical_text ( objetoSVGPai ; texto {; x {; y {; fonte {; tamanho {; estilo {; alinhamento {; cor {; rotaçao}}}}}}}} )-> Resultado

Parâmetro Tipo DescriçãoobjetoSVGPai SVG_Ref Referencia do elemento paitexto Texto Texto a inserirx Inteiro longo Coordenada no eixo Xy Inteiro longo Coordenada no eixo Yfonte cadeia Nome da fontetamanho Inteiro Tamanho dos caracteres em pontosestilo Inteiro Estilo dos caracteresalinhamento Inteiro Alinhamentocor cadeia Cor do textorotaçao Inteiro longo Ângulo de rotação do textoResultado SVG_Ref Referencia do objeto texto SVG

Descrição

O comando SVG_New_vertical_text insere o texto verticalmente no recipiente SVG designado por objetoSVGPai e devolve suareferencia. Se objetoSVGPai não é um documento SVG, é gerado um erro.Os parâmetros opcionais x e y permitem especificar a posição no eixo X e Y da esquina inferior esquerda do primeiro caracteredo texto.Os parâmetros opcionais fonte e tamanho permitem especificar a fonte e o tamanho em pontos a utilizar. Quando não passamestes parâmetros, o texto será escrito em Times New Roman 12 pts.O parâmetro opcional estilo da o estilo de caracteres a utilizar. Neste parâmetro, deve passar um dos seguintes estilos, ou umacombinação de vários destes valores:

0 = Normal1 = Negrito2 = Itálico4 = Sublinhado8 = Marcado

O parâmetro opcional alinhamento permite especificar o tipo de alinhamento a aplicar ao texto desenhado. Pode passar um dosseguintes valores:

2 = Alinhado a esquerda3 = Centrado4 = Alinhado a direita

O parâmetro opcional cor contém o nome da cor da fonte. (Para maior informação sobre cores, consulte a seção "Cores egradientes").O parâmetro opcional rotaçao permite precisar a rotação a aplicar ao texto.

Exemplo

$SVG:=SVG_New $textID:=SVG_New_text($SVG;"Hello world";10;12) $textID:=SVG_New_vertical_text($SVG;"Hello world";22;3;"";-1;-1;Center;"blue")

Page 110: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_SET_FONT_COLOR

SVG_SET_FONT_COLOR ( objetoSVG ; cor )

Parâmetro Tipo DescriçãoobjetoSVG SVG_Ref Referencia de um elemento SVGcor cadeia Cor do texto

Descrição

O comando SVG_SET_FONT_COLOR permite especificar a cor da fonte para o objeto SVG de referencia objetoSVG. SeobjetoSVG não faz referencia a um elemento válido, é gerado um erro.

O parâmetro cor contém o nome da cor a utilizar. (Para mais informação sobre as cores, consulte a seção "Cores SVG").

Page 111: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_SET_FONT_FAMILY

SVG_SET_FONT_FAMILY ( objetoSVG ; fonte {; fonte2 ; ... ; fonteN} )

Parâmetro Tipo DescriçãoobjetoSVG SVG_Ref Referencia de um elemento SVGfonte cadeia Nome de fonte

Descrição

O comando SVG_SET_FONT_FAMILY permite especificar a fonte para o objeto SVG de referencia objetoSVG. Se objetoSVGnão faz referencia a um elemento válido, é gerado um erro.

O parâmetro fonte contém o nome da fonte a utilizar. Quando passam vários nomes, o comando cria automaticamente a lista defontes e/ou de familias genéricas.

Exemplo

Passo de vários nomes de fontes:

SVG_SET_FONT_FAMILY(svgObject;"Lucida grande";"Sans-serif") // criar a lista: " 'Lucida grande' 'Sans-serif'"

Page 112: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_SET_FONT_SIZE

SVG_SET_FONT_SIZE ( objetoSVG ; tamanho )

Parâmetro Tipo DescriçãoobjetoSVG SVG_Ref Referencia de um elemento SVGtamanho Inteiro Tamanho dos caracteres em pontos

Descrição

O comando SVG_SET_FONT_SIZE permite especificar o tamanho da fonte para o objeto SVG de referencia objetoSVG. SeobjetoSVG não referencia um elemento válido, é gerado um erro.O parâmetro tamanho contém o tamanho da fonte expressada em pontos.

Page 113: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_SET_FONT_STYLE

SVG_SET_FONT_STYLE ( objetoSVG ; estilo )

Parâmetro Tipo DescriçãoobjetoSVG SVG_Ref Referencia de um elemento SVGestilo Inteiro Estilo de caracteres

Descrição

O comando SVG_SET_FONT_STYLE permite especificar o estilo do texto para o objeto SVG de referencia objetoSVG. SeobjetoSVG não faz referencia a um elemento válido, é gerado um erro.

No parâmetro estilo, deve passar um dos seguintes valores ou uma combinação de vários valores:

0 = Normal1 = Negrito2 = Itálico4 = Sublinhado8 = Marcado

Page 114: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_SET_TEXT_ANCHOR

SVG_SET_TEXT_ANCHOR ( objetoSVG ; alinhamento )

Parâmetro Tipo DescriçãoobjetoSVG SVG_Ref Referencia de um elemento SVGalinhamento Inteiro Alinhamento

Descrição

O comando SVG_SET_TEXT_ANCHOR permite modificar o alinhamento do objeto SVG de referencia objetoSVG. SeobjetoSVG não faz referencia a um elemento válido, é gerado um erro.

No parâmetro alinhamento, deve passar um dos seguintes valores:

1 = Alinhamento por padrão (esquerda)2 = Alinhado a esquerda3 = Centrado4 = Alinhado a direita5 = Justificar (só para o objeto TextArea)

Page 115: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

Utilitários

SVG_Count_elements SVG_ELEMENTS_TO_ARRAYS SVG_Estimate_weight SVG_Find_ID SVG_Get_options SVG_Get_version SVG_Is_reference_valid SVG_Read_element_type SVG_Read_last_error SVG_References_array SVG_Set_error_handler SVG_SET_OPTIONS SVGTool_SHOW_IN_VIEWER

Page 116: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_Count_elements

SVG_Count_elements ( objetoSVG ) -> Resultado

Parâmetro Tipo DescriçãoobjetoSVG SVG_Ref Referencia SVGResultado Inteiro longo Número de objetos

Descrição

O comando SVG_Count_elements devolve o número de objetos gráficos no objetoSVG passado em parâmetro. Um grupo contacomo um objeto. Para conhecer o número de objetos gráficos em um grupo, passe sua referencia ao comando. Se objetoSVGnão é válido, é gerado um erro.

Page 117: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_ELEMENTS_TO_ARRAYS

SVG_ELEMENTS_TO_ARRAYS ( objetoSVG ; pontArrayRef {; pontArrayTipos {; pontArrayNomes}} )

Parâmetro Tipo DescriçãoobjetoSVG Alfa Referencia SVGpontArrayRef Ponteiro Array cadeia das referencias de objetospontArrayTipos Ponteiro Array cadeia dos tipos de objetospontArrayNomes Ponteiro Array cadeia dos id de objetos

Descrição

O comando SVG_ELEMENTS_TO_ARRAYS enche o array apontado por ponteiroArrayRef com as referencias dos objetosgráficos de primeiro nível para a referencia SVG passada em objetoSVG.

Se passado o ponteiro opcional pontArrayTipos, o array é enchido com os tipos dos objetos.

Se passado o ponteiro opcional puntArrayNomes, o array é enchido com os identificadores dos objetos.

Um grupo conta como um objeto. Para obter esta informação para os objetos gráficos de um grupo, passe sua referencia aocomando.

Se objetoSVG não é válido ou se este atributo não existe, é gerado um erro.

Page 118: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_Estimate_weight

SVG_Estimate_weight ( objetoSVG ) -> Resultado

Parâmetro Tipo DescriçãoobjetoSVG SVG_Ref Referencia de um documento SVGResultado Real Tamanho em bytes do documento SVG

Descrição

O comando SVG_Estimate_weight devolve o tamanho em bytes da árvore SVG cuja referencia passa no parâmetro objetoSVG.Se objetoSVG não é uma referencia válida, é gerado um erro.

Page 119: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_Find_ID

SVG_Find_ID ( objetoSVG ; nome ) -> Resultado

Parâmetro Tipo DescriçãoobjetoSVG SVG_Ref Referencia do objeto SVGnome cadeia ID do elemento SVGResultado SVG_Ref Referencia do elemento

Descrição

O comando SVG_Find_ID devolve a referencia do elemento cujo ID passa no parâmetro nome, que pertence a estrutura SVGcujo elemento raíz passa no parâmetro objetoSVG.Se o elemento não se encontra, é gerado um erro.

Page 120: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_Get_options

SVG_Get_options -> Resultado

Parâmetro Tipo DescriçãoResultado Inteiro longo Opções

Descrição

O comando SVG_Get_options devolve um inteiro longo que representa um array de 32 bits aonde cada bit pode representar umaopção do recipiente. Pode utilizar os Operadores nos bits de 4D para provar (??) o estado de uma opção e ativar ela (+?) oudesativar (-?).As seguintes opções estão disponíveis:

Bit Opção Por padrão1 Atribuir um ID automaticamente quando é criado um elemento 0 (desativado)2 Fechar automaticamente os objetos 0 (desativado)3 Criar objetos com um fundo 1 (ativado)4 Coordenadas absolutas para traços 1 (ativado)5 Criar código mais legível 0 (desativado)6 Bip quando se produz um erro 1 (ativado)7 Não mostrar os erros de 4D 0 (desativado)8 Imagens transparentes 1 (ativado)9 Utilizar origem trigonométrica 0 (desativado)10 Substituir automaticamente Arial 1 (ativado)11 Utilizar a renderização 'crispEdges' por padrão para um novo desenho 0 (desativado)

Atribuir um ID automaticamente quando é criado um elementoSe esta opção está ativa, quando o recipiente cria um novo elemento, agrega e enche sistematicamente um atributo 'id'para o objeto criado, se isto não foi especificado.

Fechar automaticamente os objetosSe esta opção está ativa, os objetos criados com os comandos SVG_New_arc e SVG_New_polyline_by_arrays serãofechados automaticamente.

Criar objetos com um fundoSe esta opção está ativa, os objetos fechados serão criados com uma cor de fundo, caso contrário, o fundo serátransparente.

Coordenadas absolutas para traçosDurante o desenho de traços com os comandos SVG_PATH_MOVE_TO, SVG_PATH_LINE_TO, SVG_PATH_CURVE eSVG_PATH_ARC, as coordenadas passadas serão interpretadas como absolutas se esta opção está ativa, em casocontrário serão consideradas como relativas.

Criar código mais legívelEsta opção permite criar um código recortado e com bons espaços, mas no entanto difícil de lidar, sua ativação éespecialmente útil durante a fase de depuração.

Bip quando se produz um erroQuando se produz um erro e nenhum método de gestão de erros da base local foi instalada com o comandoSVG_Set_error_handler, se emite um bip se esta opção está ativa.

Não mostrar os erros de 4DEsta opção ativa por padrão bloqueia a visualização de erros 4D mediante a instalação de um método de gestão de errospróprio ao recipiente 4D SVG. Pode preferir não utilizar esta gestão interna e permitir a 4D mostrar estas mensagens. Istopode ser útil durante a depuração, por exemplo.

Imagens transparentesPor padrão, as imagens SVG criadas com o comando SVG_New são transparentes. Ao desabilitar esta opção, as imagensterão um fundo branco.

Utilizar origem trigonométricaPor padrão, SVG localiza a origem na parte superior da escala de graus (meia noite). Esta opção lhe permite passar ascoordenadas de acordo aos pontos de referencia trigonométricas (3h ou 15min). A conversão se realiza de imediato.

Substituir automaticamente Arial

Page 121: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

Por padrão, 4D SVG substitui a fonte 'Arial' por 'Arial Unicode MS', 'Arial' para melhorar a compatibilidade com oscaracteres não romanos (japonês por exemplo). Em alguns casos, pode desativar este funcionamento. Esta opção permitenão substituir as fontes Arial.

Utilizar a renderização 'crispEdges' por padrão para um novo desenho O atributo crispEdges (ver SVG_SET_SHAPE_RENDERING) pode ser forçado por padrão graças a esta opção.

Exemplo

Ver o comando SVG_SET_OPTIONS.

Page 122: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_Get_version

SVG_Get_version -> Resultado

Parâmetro Tipo DescriçãoResultado cadeia Número de versão

Descrição

O comando SVG_Get_version devolve a versão do componente em forma alfanumérica. A cadeia devolvida sempre inclui onúmero de versão e subversão (por exemplo "11.0" para a versão 11 e "11.3" para a terceira atualização da versão 11). Quandose trata de uma versão beta, se especifica o número de distribuição, antecedendo a letra "B" (por exemplo "11.3B1" para a beta1 da versão 11.3)

Page 123: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_Is_reference_valid

SVG_Is_reference_valid ( objetoSVG ) -> Resultado

Parâmetro Tipo DescriçãoobjetoSVG SVG_Ref Referencia de um elemento SVGResultado Booleano True se a referencia pertence a um elemento SVG

Descrição

O comando SVG_Is_reference_valid devolve True se a referencia passada no parâmetro objetoSVG é a de um elemento deuma árvore SVG. Se o elemento não pertence a uma árvore SVG, o comando devolve False. Se objetoSVG não é uma referenciaválida, é gerado um erro.

Page 124: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_Read_element_type

SVG_Read_element_type ( objetoSVG ) -> Resultado objetoSVG SVG_Ref Referencia de um elemento SVGResultado Tipo de elemento

Descrição

O comando SVG_Read_element_type devolve o tipo de elemento cuja referencia é passada no parâmetro objetoSVG.Se objetoSVG não é uma referencia válida ou se este atributo não existe, é gerado um erro.

Page 125: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_Read_last_error

SVG_Read_last_error -> Resultado

Parâmetro Tipo DescriçãoResultado Inteiro longo Número do último erro

Descrição

O comando SVG_Read_last_error devolve o número do último erro ocorrido durante a execução de um comando do recipiente4D SVG e reinicializa este erro.O número de erro devolvido pode ser específico a um comando do recipiente ou um erro gerado por 4D. Os erros gerados pelocomponente são:

8850 Insufficient number of parameters8851 Invalid parameter type8852 Invalid reference8853 Incorrect value for attribute8854 The element does not accept this command8855 Invalid (ID not found in document) object name (symbol, marker, filter, etc.)8856 DTD file not found8857 Incorrect value for a parameter8858 Unknown error

Exemplo 1

Dado o método "SVG_error_mgmt" do exemplo do comando SVG_Set_error_handler:

`Instalação do método de gestão de erros $ Error_Method_Txt:=SVG_Set_error_handler("SVG_error_mgmt") `de agora em a diante será executado o método SVG_error_mgmt em caso de erro `Criação de um novo documento SVG $SVG:=SVG_New(1200;900;"SVG Component Test";"";True) SVG_SET_VIEWBOX($SVG;0;0;1500;1000) If(SVG_Read_last_error=0) ... Else `O método SVG_error_mgmt foi chamado e recebeu o número de erro End if `Desinstalação do método de gestão de erros SVG_Set_error_handler

Exemplo 2

Given the following SVG_error_mgmt method:

C_LONGINT($1) C_TEXT($2) `Keep the error and the context errorNumber:=$1 commandName:=$2 `Set the OK system variable to 0 OK:=0

Page 126: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

This method can be used as follows:

` Installation of error-handling method $ Error_Method_Txt:=SVG_Set_error_handler("SVG_error_mgmt") ` Creation of new SVG document $SVG:=SVG_New(1200;900;" SVG Component Test ";"";True) SVG_SET_VIEWBOX($SVG;0;0;1500;1000) If(OK=1) ... Else ALERT("Error No."+String(errorNumber)+" during execution of the command\""+commandName+"\"") End if ` Uninstalling of error-handling method SVG_Set_error_handler

Page 127: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_References_array

SVG_References_array ( pontArrayRef ) -> Resultado

Parâmetro Tipo DescriçãopontArrayRef Ponteiro Array cadeia das referencias de documentosResultado Inteiro longo Número de referencias

Descrição

O comando SVG_References_array devolve a lista de referencias de documentos SVG atuais no array apontado porponteiroArrayRef. Como resultado, o comando devolve o número de referencias encontradas.

SVG_References_array é útil durante a depuração. Cada vez que um documento SVG é criado com os comandos SVG_New,SVG_Copy ou SVG_Open_file, o recipiente adiciona a referencia devolvida pelo comando em um array interno. Quando umdocumento SVG se libera utilizando o comando SVG_CLEAR, o recipiente elimina a referencia do array.

Page 128: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_Set_error_handler

SVG_Set_error_handler {( metodo )} -> Resultado

Parâmetro Tipo Descriçãometodo cadeia Nome do método da base local a instalarResultado cadeia Nome do método previamente instalado

Descrição

O comando SVG_Set_error_handler permite instalar o metodo da base local que será chamado em caso de erro e devolve onome do método previamente instalado.Os comandos do recipiente 4D SVG realizam um mínimo de verificações quando são chamados: número mínimo de parâmetros,validez das referencias, para o elemento ao qual se aplica um comando. O recipiente controla os erros de uma maneiraestruturada e permite que a base local recupere os possíveis erros.

Quando o funcionamento por padrão não foi modificado, é produzido um erro se emite um bip e o comando se interrompe.

A base local pode recuperar o número de erro e o nome do comando que falha em um destes métodos. Para isso, a base localdeve criar um método que receberá o número de erro como primeiro parâmetro e o nome do comando como segundo parâmetro.Este método, se é instalado pelo comando SVG_Set_error_handler, é chamado quando se produz um erro, neste caso, não égerado um som pelo código do recipiente.Se metodo é omitido ou é uma cadeia vazia, o método é desinstalado e o comportamento por padrão se reativa.Nota: O método da base local que será chamado pelo recipiente deve ter a propriedade "Compartilhado entre recipientes e baselocal".

Exemplo

Instalação do método SVG_error_mgmt (método de base local) como método de gestão de erros:

$error:=SVG_Set_error_handler("SVG_error_mgmt")

Código do método:

` Método de gestão de erros SVG_error_mgmt ALERT("Error No."+String($1)+" durante a execução do comando \""+$2+"\"")

Page 129: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVG_SET_OPTIONS

SVG_SET_OPTIONS {( opçoes )}

Parâmetro Tipo Descriçãoopçoes Inteiro longo Opções do recipiente 4D SVG

Descrição

O comando SVG_SET_OPTIONS permite fixar as opções do recipiente 4D SVG com o inteiro longo opçoes. Para maiorinformação sobre o conteúdo de opçoes, consulte a descrição do comando SVG_Get_options.Como todas as opções se fixam simultaneamente, este comando deve estar precedido de uma chamada ao comandoSVG_Get_options, seguido pelo uso dos de 4D.Se não passar o parâmetro opçao, todas as opções retornam a seu valor por padrão (ver o comando SVG_Get_options).

Exemplo 1

Criar um código mais legível:

$Options :=SVG_Get_options $Options :=$Options ?+5 `ativar a opção SVG_SET_OPTIONS($Options)

Exemplo 2

Desenhar uma gráfica rodapé:

$svg:=SVG_New `Ativar o fechamento automático dos objetos SVG_SET_OPTIONS(SVG_Get_options?+2) SVG_New_arc($svg;100;100;90;0;105;"gray";"lightcoral";1) SVG_New_arc($svg;100;100;90;105;138;"gray";"lightskyblue";1) SVG_New_arc($svg;100;100;90;138;230;"gray";"lightgreen";1) SVG_New_arc($svg;100;100;90;230;270;"gray";"lightsteelblue";1) SVG_New_arc($svg;100;100;90;270;360;"gray";"lightyellow";1)

Page 130: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

SVGTool_SHOW_IN_VIEWER

SVGTool_SHOW_IN_VIEWER ( objetoSVG )

Parâmetro Tipo DescriçãoobjetoSVG SVG_Ref Referencia da imagem a mostrar

Descrição

O comando SVGTool_SHOW_IN_VIEWER mostra a imagem SVG definida por objetoSVG em uma janela do Visualizador SVG.Esta ferramenta se oferece com o recipiente SVG:

Para maior informação sobre o Visualizador SVG, consulte a seção Ferramentas de desenvolvimento.

Page 131: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

Anexos

Anexo A, Array de cores Anexo B, Links externos

Page 132: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

Anexo A, Array de cores

Esta é a lista de cores reconhecida por SVG. Para maior informação, consulte a seção Cores SVG.

Page 133: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito
Page 134: 4D Doc Center : 4D SVGdownload.4d.com/Documents/Products_Documentation/...A linguagem XML utilizada para a manipulação de imagens SVG é particularmente rico e extensa. Com o propósito

A C D E F G I N O P R S U V

Anexo B, Links externos

Esta é uma lista de links úteis relativos a norma SVG:Apresentaçãohttp://www.w3.org/Graphics/SVG/Especificaçãohttp://www.w3.org/TR/SVG12/ (Estado: Working Draft 13 Abril 2005)http://www.yoyodesign.org/doc/w3c/svg1/ (Tradução Francês (Versão 1.0))Tutoriaishttp://www.w3.org/Consortium/Offices/Presentations/SVG/1.svgComunidadehttp://svg.org/http://svgfr.orghttp://www.openclipart.org/http://www.gosvg.net/

4D SVG - Lista alfabética dos comandos

SVG_ADD_POINT


Recommended