Captura de imagens sem perda usando .NET
Pergunta
Estou tentando entender por que, depois de cortar uma imagem no .NET, acabo com uma imagem 3 vezes o tamanho da imagem original. Listado abaixo está o código que estou usando para cortar a imagem
Private Shared Function CropImage(ByVal img As Image, ByVal cropArea As Rectangle) As Image
Dim bmpImage As Bitmap = New Bitmap(img)
Dim bmpCrop As Bitmap = bmpImage.Clone(cropArea, img.PixelFormat)
Return CType(bmpCrop, Image)
End Function
onde IMG é a imagem original carregada do arquivo em um objeto de imagem.
Como posso obter uma perda menos cultivo da minha imagem?
Solução
Dê uma olhada na segunda resposta a esta pergunta:
Biblioteca de escala de imagem de alta qualidade
Esse código deve ajudar. O problema é que a biblioteca de manuseio de imagens .NET padrão System.Drawing.Imaging.Encoder.Quality
Definindo 100%, que é literalmente três vezes o tamanho de 90%, o que não tem diferença visível na qualidade. Use o código nessa pergunta para salvar sua imagem em configurações de menor qualidade e você verá uma grande diferença no tamanho do seu arquivo.