Saltar para o conteúdo principal
Versão: 20

Imagem

Um campo, variável ou expressão pode ser qualquer imagem de Windows ou Macintoh. Em geral, isto inclui qualquer imagem que possa ser colocada na pasta ou lida a partir do disco utilizando comandos 4D, tais como LEIA O ARQUIVO DE IMAGENS.

4D usa APIs nativas para codificar (escrever) e decodificar (ler) campos de imagens e variáveis sob Windows e macOS. Essas implementações oferecem acesso a inúmeros formatos nativos, incluindo o formato RAW atualmente utilizado por câmeras digitais.

  • no Windows, 4D usa o WIC (Componente de Imagens Windows).
  • no macOS, 4D usa ImageIO.

WIC e ImageIO permitem o uso de metadados nas fotos. Dois comandos, SET PICTURA METADATA e GET PICTURE METADATA, permitem que você se beneficie com metadados em seus desenvolvimentos.

IDs de códigos de imagem

4D suporta nativamente um amplo conjunto de formatos de imagem , tais como .jpeg, .png, ou .svg.

Os formatos de imagens reconhecidos por 4D são retornados pelo comando PICTURE CODEC LIST como picture Codec IDs. Eles podem ser devolvidos nos seguintes formulários:

  • Como uma extensão (por exemplo ".gif")
  • Como um tipo MIME (por exemplo, “image/jpeg”)

O formulário retornado para cada formato dependerá da forma como o Codec é gravado no nível do sistema operacional. Note que a lista de codecs disponíveis para leitura e escrita pode ser diferente desde que a codificação de codecs pode exigir licenças específicas.

A maioria dos comandos de gerenciamento de imagens 4D pode receber um Codec ID como parâmetro. É imperativo, portanto, usar a ID do sistema retornada pelo comando PICTURE CODEC LIST. Os formatos de imagem reconhecidos por 4D são devolvidos pelo comando PICTURE CODEC LIST .

Operadores de imagem

OperaçãoSintaxeRetornaAção
Concatenação horizontalFoto1 + Foto2ImagemAdicionar Pict2 à direita da Pict1
Concatenação verticalPict1 / Pict2ImagemAcrescentar Pict2 ao fundo de Pict1
Sobreposição exclusivaPict1 & Pict2ImagemSobrepõe Pict2 no topo de Pict1 (Pict2 em primeiro plano). Produz o mesmo resultado que COMBINE PICTURES(pict3;pict1;Superimposition;pict2)
Sobreposição inclusivaPict1 | Pict2ImagemSobrepõe Pict2 em Pict1 e devolve a máscara resultante se ambas as imagens tiverem o mesmo tamanho. Produz o mesmo resultado que $equal:=Fotos iguais(Pict1;Pict2;Pict3)
Movimento horizontalImagem + NúmeroImagemMover imagem horizontalmente número pixels
Movimento verticalImagem / NúmeroImagemMover imagem em pixels do número vertical
RedimensionamentoImagem * NúmeroImagemRedimensionar imagem por proporção número
Escala horizontalImagem *+ NúmeroImagemRedimensionar imagem horizontalmente por relação numérica
Escala verticalPicture *| NumberImagemRedimensionar imagem por proporção número
Contém palavra chavePicture % StringParâmetrosReturns true if the string is associated with the picture stored in the picture expression. Veja GET PICTURE KEYWORDS

Notas:

  • Para utilizar o | operador, Pict1 e Pict2 devem ter exactamente a mesma dimensão. Se ambas as imagens tiverem um tamanho diferente, a operação Pict1 | Pict2 produz uma imagem em branco.
  • O comando COMBINE PICTURES pode ser utilizado para sobrepor imagens mantendo as características de cada imagem de origem na imagem resultante.
  • Operações adicionais podem ser realizadas em imagens usando o comando TRANSFORM PICTURE .
  • Não há operadores de comparação em imagens, no entanto 4D propõe o comando Equal picture para comparar duas imagens.

Exemplos

Concatenação horizontal

 círculo+rectângulo //Coloca o retângulo à direita do círculo
rectângulo+círculo //Coloca o círculo à direita do retângulo

Concatenação vertical

 círculo/retângulo //Coloca o retângulo abaixo do círculo
retângulo/círculo //Coloca o círculo abaixo do retângulo

Sobreposição exclusiva

Pict3:=Pict1 & Pict2 // Superimpõe Pict2 no topo da Pict1

Sobreposição inclusiva

Pict3:=Pict1|Pict2 // Recupera a máscara resultante da sobreposição de duas imagens do mesmo tamanho

Movimento horizontal

retângulo+50 //Mova o retângulo 50 pixels para a direita
retângulo-50 //Mova o retângulo 50 pixels para a esquerda

Movimento vertical

retângulo/50 //Mova o retângulo para baixo em 50 pixels
retângulo/-20 //Mova o retângulo para cima em 20 pixels

Redimensionar

retângulo*1,5 ///O retângulo fica 50% maior
retângulo*0,5 ///O retângulo fica 50% menor

Escala horizontal

círculo*+3 ///O círculo se torna 3 vezes maior
círculo*+0.25 ///A largura do círculo se torna um quarto da que era

Escala vertical

círculo*|2 //O círculo torna-se duas vezes mais alto
círculo*|0.25 //A altura do círculo torna-se um quarto do que era