Comprimir Imagem

Função que comprime e reduz o tamanho da imagem passada por parâmetro.

Parâmetros de Entrada

Parâmetros

Nome

Tipo

Doc

Parâmetro 1ImagemObjetoCampo destinado a receber a imagem que será redimensionada.
Parâmetro 2Qualidade (0 até 100) NuméricoCampo destinado para informar o grau de qualidade da imagem 

Retorno

Retorna uma imagem (em bytes) com o tamanho reduzido.

Compatibilidade

 Servidor

Exemplo

Para este exemplo, faremos uma cópia da imagem original, com o objetivo de comparar o arquivo antes e depois da execução da função. 


Figura 1 - Função para comprimir uma imagem


  1. Criação da variável "origem", responsável por obter o caminho da imagem original.
  2. Criação da variável "destino", responsável por indicar o caminho e o nome do novo arquivo comprimido.
  3. A variável refArquivoOrigem recebe o bloco de programação Abrir arquivo para leitura, cujo valor recebido é a variável "origem".
  4. Qualquer tipo de manipulação de imagem é feita através dos bytes da imagem, por isso criamos a variável bytesImg, recebendo o bloco de programação Ler todo o conteúdo do arquivo em bytes, ele é responsável por transformar o conteúdo da variável refArquivoOrigem, que consta o caminho da imagem. em bytes.
  5. Para manipular a imagem utilizamos o bloco de programação Comprimir Imagem, o primeiro parâmetro recebe a variável bytesImg, e no segundo indicamos quantos por cento queremos comprimir o arquivo.
  6. Nesse ponto não precisamos mais mexer o arquivo original, por isso podemos utilizar o bloco de programação Fechar o arquivo, passando como referência a variável refArquivoOrigem.
  7. Utilizamos a variável refArquivoDestino juntamente com o bloco Abrir arquivo para escrita, que recebe a variável "destino", com o caminho do novo arquivo comprimido e passamos o valor "null" em seu conteúdo.
  8. Agora alimentamos o arquivo criado no passo 7 com o array de byte da imagem, variável "bytesImg".
  9. Após a escrita do novo arquivo, podemos fechar o arquivo de destino.
  10. E por fim, faremos o download do arquivo comprimido, através do bloco de programação Iniciar download do arquivo físico.


Figura 2 - Tamanho da imagem original à esquerda, e imagem comprimida à direita

Sobre o bloco

Os tipos de valores suportados no parâmetro Imagem do bloco de programação Redimensionar Imagem são: Caminho absoluto, URL, Base64 e Array de Bytes,

  • No labels