Como compactar uma imagem antes de salvar no .NET/MVC

Está em busca de um algoritmo de compactação de imagens para .NET? Hoje durante meu dia normal de desenvolvimento me deparei com uma situação onde eu implementei o upload de imagens para uma determinada feature, porém, para não ocupar muito espaço no servidor, fui atrás de um algoritmo que compactasse as imagens antes de salvar no disco.

O código do arquivo que você pode baixar logo abaixo contém o código que é  responsável por processar a imagem recebida, compactá-la e salvar no local indicado. O código contém um trecho onde a foto é recebida no MVC, você provavelmente vai adaptar ao seu cenário, mas serve de exemplo.

Baixar o arquivo CompactaFoto.cs aqui: https://drive.google.com/file/d/18eneIA7AFaNp-cN6_51U9oM_o35oy7SZ/view?usp=sharing

No meu caso, eu tinha um “Posted File” proveniente de um upload realizado até o meu Controller MVC, onde eu tenho o Stream necessário para compressão.

Você pode alterar o nível de compressão alterando as variáveis maxHeightmaxWidth, onde quando menor o valor informado, maior será a compressão.

Note que, a resolução da imagem será alterada, a compressão não é feita somente diminuindo a qualidade (como muitos fazem). Assim, fotos de câmeras modernas de Smartphones que possuem uma resolução absurda, será diminuída para o tamanho é que conveniente à você e sua feature, blz?

Nota/Créditos: O código em anexo foi obtido aqui: http://www.c-sharpcorner.com/UploadFile/85ed7a/compress-and-resize-the-image-using-web-api/

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.