Contraste), brilho e gama são atributos populares usados para ajustar imagens. Diferentes valores desses atributos são definidos para controlar e melhorar a aparência das imagens. Neste artigo, mostraremos como ajustar o contraste, o brilho e a gama de uma imagem programaticamente em C#. Você pode utilizar isso para implementar recursos de edição de imagem de seus aplicativos .NET.
- API de edição de imagem C#
- Ajustar o contraste de uma imagem em C#
- Ajustar o brilho de uma imagem em C#
- Modificar gama de uma imagem em C#
API C# para ajustar contraste, brilho e gama da imagem
Aspose.Imaging for .NET é uma API de processamento de imagem poderosa e rica em recursos para plataformas .NET/.NET Standard. Ele suporta a manipulação de uma ampla variedade de formatos de imagem sem escrever código complexo. Usaremos esta API para ajustar o contraste, brilho e gama de imagens em C#. Você pode baixar a API ou instalá-la em seus aplicativos .NET usando NuGet.
PM> Install-Package Aspose.Imaging
Ajustar o contraste de uma imagem em C#
O contraste é definido como a diferença na intensidade do pixel. Seu valor é ajustado para tornar os objetos em uma imagem mais visíveis e distinguíveis. Com alto contraste, cada objeto na imagem parece muito claro, assim como as fotografias tiradas à luz do sol. Considerando que, com baixo contraste, você dificilmente distingue os objetos como no tempo nublado.
Vamos verificar como ajustar o contraste de uma imagem em C# usando Aspose.Imaging para .NET.
- Primeiro, carregue a imagem usando a classe Image.
- Em seguida, converta o objeto para o tipo RasterImage.
- Cache de imagem se não estiver usando o método RasterImage.CacheData().
- Ajuste o contraste no intervalo [-100, 100] usando o método RasterImage.AdjustContrast(float).
- Finalmente, salve a imagem resultante usando o método RasterImage.Save(string).
O exemplo de código a seguir mostra como ajustar o contraste de uma imagem em C#.
// Carregar uma imagem em uma instância de Image
using (Image image = Image.Load("image.png"))
{
// Transmitir para imagem raster
RasterImage rasterImage = (RasterImage)image;
// Cache RasterImage para melhor desempenho
if (!rasterImage.IsCached)
{
rasterImage.CacheData();
}
// Ajustar contraste
rasterImage.AdjustContrast(30);
// Salvar imagem
image.Save("image-updated-contrast.png");
}
A seguir está a comparação das imagens de entrada e saída após o aumento do valor de contraste.
Ajustar o brilho de uma imagem em C#
O atributo de brilho geralmente controla a visibilidade dos objetos em uma imagem. Seu valor é ajustado para aumentar ou diminuir a escuridão. A seguir estão as etapas para modificar o brilho de uma imagem em C#.
- Primeiro, carregue a imagem usando a classe Image.
- Converta o objeto para o tipo RasterImage.
- Cache de imagem se não estiver usando o método RasterImage.CacheData().
- Ajuste o brilho da imagem usando o método RasterImage.AdjustBrightness(float).
- Finalmente, salve a imagem resultante usando o método RasterImage.Save(string).
O exemplo de código a seguir mostra como ajustar o brilho de uma imagem em C#.
// Carregar uma imagem em uma instância de Image
using (Image image = Image.Load("image.png"))
{
// Transmitir para imagem raster
RasterImage rasterImage = (RasterImage)image;
// Cache RasterImage para melhor desempenho
if (!rasterImage.IsCached)
{
rasterImage.CacheData();
}
// Ajuste o brilho
rasterImage.AdjustBrightness(70);
// Salvar imagem
image.Save("image-updated-bightness.png");
}
A seguir está a comparação das imagens de entrada e saída após ajustar o brilho.
Modificar gama de uma imagem em C#
O atributo gama é usado para modificar a proporção das cores vermelha, verde e azul em uma imagem. Além disso, também modifica o brilho da imagem. A seguir estão as etapas para alterar o valor de gama de uma imagem em C#.
- Primeiro, carregue a imagem usando a classe Image.
- Converta o objeto para o tipo RasterImage.
- Cache de imagem se não estiver usando o método RasterImage.CacheData().
- Altere a gama da imagem usando o método RasterImage.AdjustGamma(float, float, float).
- Finalmente, salve a imagem resultante usando o método RasterImage.Save(string).
O exemplo de código a seguir mostra como ajustar a gama de uma imagem em C#.
// Carregar uma imagem em uma instância de Image
using (Image image = Image.Load("image.png"))
{
// Transmitir para imagem raster
RasterImage rasterImage = (RasterImage)image;
// Cache RasterImage para melhor desempenho
if (!rasterImage.IsCached)
{
rasterImage.CacheData();
}
// Ajustar gama
rasterImage.AdjustGamma(2.2f, 2.2f, 2.2f);
// Salvar imagem
image.Save("image-updated-gamma.png");
}
A seguir está a comparação das imagens de entrada e saída após o ajuste do valor de gama.
Obtenha uma licença de API gratuita
Você pode obter uma licença temporária gratuita para usar o Aspose.Imaging para .NET sem limitações de avaliação.
Conclusão
Neste artigo, você aprendeu como ajustar o contraste, o brilho e a gama de imagens em C#. Além disso, os exemplos de código demonstraram como uma imagem fica depois de modificar o contraste, o brilho e a gama. Caso queira explorar mais sobre a API de processamento de imagem .NET, visite documentação. Além disso, baixe os exemplos completos de código-fonte da API do GitHub. Se você tiver dúvidas ou perguntas, entre em contato conosco em nosso fórum.