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

Imagem

Um campo, variável ou expressão pode ser qualquer imagem de Windows ou Macintoh. En general, esto incluye toda imagen que pueda ser puesta en el portapapeles o leída desde el disco utilizando comandos 4D como READ PICTURE FILE.

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. Dos comandos, SET PICTURE METADATA y GET PICTURE METADATA, le permiten beneficiarse de los metadatos en sus desarrollos.

IDs de códigos de imagem

4D soporta de forma nativa un amplio conjunto de formatos de imagen, como .jpeg, .png o .svg.

Los formatos de imágenes reconocidos por 4D son devueltos por el comando PICTURE CODEC LIST como identificadores de códecs de imágenes. 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.

La mayoría de los comandos de gestión de imágenes 4D pueden recibir un Codec ID como parámetro. Por lo tanto, es imperativo utilizar el ID del sistema devuelto por el comando PICTURE CODEC LIST. Los formatos de imágenes reconocidos por 4D son devueltos por el 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 exclusivaImagen1 & Imagen2ImagemSobrepõe Pict2 no topo de Pict1 (Pict2 em primeiro plano). Produce el mismo 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. Produce el mismo resultado que $equal:=Equal pictures(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.
  • El comando COMBINE PICTURES puede utilizarse para superponer imágenes manteniendo las características de cada imagen fuente en la imagen resultante.
  • Se pueden realizar operaciones adicionales en las imágenes utilizando el comando TRANSFORM PICTURE.
  • No hay operadores de comparación de imágenes, sin embargo 4D propone el comando Equal picture para comparar dos imágenes.

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 // Superponer Pict2 sobre 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