.NET

1 jan, 2022

.NET 6 trabalhando com compressão de imagens (WebP)

Publicidade

Antes de entrar na parte do código, o que seria esse formato WebP? Criado em 2010 pelo Google, o formato WebP representa imagens com a mesma qualidade em um tamanho menor. Ou seja, economiza espaço, aumenta a velocidade de uma página e não perde em qualidade. Na prática, tem como principal objetivo compactar imagens de forma mais eficiente para oferecer uma experiência mais rápida ao usuário

Bom, agora que sabemos o que é o WebP, vamos avançar para parte prática deste artigo.

Para pular a etapa de criação de um novo projeto, eu demonstrarei essa implementação utilizando um código que subi no meu GitHub em .NET 5, mas como pode ver no vídeo abaixo o mesmo funciona em .NET 6, basta importar os pacotes e criar o método de Upload.

Link do código no meu GitHub: dotnet-upload-webp.

Nesse repositório nós temos uma Controller que recebe como parametro IFormFile image. A seguir você tem esse trecho de código:

https://gist.githubusercontent.com/programadriano/ac6bedeac4ad19ef15a9d1566a82b88c/raw/43223e8c8179e3410976cb91ee6d6be1f3f430f8/UploadsController

Analisando o trecho de código acima nós temos:

  • na linha 31 estamos passando o local que o arquivo será salvo e o nome que queremos dar para ele;
  • na linha 35: estamos carregando os dados da imagem;
  • na linha 36: estamos passando qual é o formato que utilizaremos;
  • na linha 37: estamos passando a qualidade que queremos, eu deixei com o valor 100 para não perder nada na qualidade;
  • na linha 38: estamos salvando a image.

A seguir você tem um vídeo demonstrando esse fluxo funcionando em um projeto .NET 6:

Esse vídeo foi retirado de um dos módulos do meu curso: .NET 6 + MongoDB.

Bem simples né? Espero que tenham gostado e até um próximo artigo pessoal 😉