
Trabalhar com imagens programaticamente em C# permite que os desenvolvedores realizem várias manipulações, como redimensionar, girar e recortar. Dentre essas tarefas, o recorte é particularmente útil quando você deseja extrair uma área específica de uma imagem ou remover margens indesejadas. Neste guia, concentraremos em como recortar imagens em C# usando o Conholdate.Total para .NET.
Nós vamos guiá-lo através de duas técnicas de recorte diferentes, uma utilizando valores de deslocamento para aparar a imagem de todos os lados, e outra definindo um retângulo personalizado para isolar uma parte específica da imagem. Cada seção contém trechos de código bem documentados e insights práticos para aplicações do mundo real.
Por que recortar imagens programaticamente em C#?
Existem vários cenários em que o recorte programático de imagens é benéfico:
Foco no Conteúdo: O recorte permite que você destaque uma parte específica de uma imagem, tornando-o ideal para fotos de perfil, miniaturas ou digitalizações de documentos.
Processamento de Imagem Automatizado: Em aplicações que envolvem edição de imagem em massa ou conteúdo enviado pelo usuário, automatizar o processo de recorte simplifica os fluxos de trabalho e elimina o esforço manual.
Conformidade e Privacidade: O recorte pode ser usado para remover dados sensíveis ou irrelevantes antes de compartilhar imagens.
O recorte não é apenas um ajuste estético, é uma parte crucial do processamento de dados, design de UX e desempenho do sistema.
Cortar Imagens JPG PNG BMP - Configuração da API .NET
Você pode configurar Conholdate.Total for .NET facilmente com o comando de instalação do NuGet abaixo:
Install-Package Conholdate.Total
Recortar Imagens Movendo Lados em C#
O primeiro método demonstra como cortar uma imagem deslocando suas bordas para dentro. Isso é particularmente útil quando você deseja aparar as margens de maneira uniforme ou assimétrica a partir dos lados superior, inferior, esquerdo e direito da imagem.
// Load the image to be cropped.
using (RasterImage rasterImage = (RasterImage)Image.Load("image.png"))
{
// Before cropping, the image should be cached for better performance.
if (!rasterImage.IsCached)
{
rasterImage.CacheData();
}
// Define shift values for all four sides.
int leftShift = 10;
int rightShift = 10;
int topShift = 50;
int bottomShift = 50;
// Based on the shift values, apply the cropping on image. Crop method will shift the image bounds toward the center of image.
rasterImage.Crop(leftShift, rightShift, topShift, bottomShift);
// Save cropped image.
rasterImage.Save("cropped.png");
}
Neste exemplo, carregamos uma imagem PNG e especificamos o número de pixels a serem removidos de cada lado. O método Crop ajusta convenientemente as dimensões da imagem para dentro, eliminando bordas desnecessárias enquanto mantém a integridade da imagem. Ao usar este método, você pode alcançar um recorte consistente, baseado em bordas, ideal para documentos digitalizados, capturas de tela e bordas de imagem.
Recortar Imagens usando um Retângulo Definido em C#
O segundo método oferece maior precisão ao permitir que você defina a área exata a ser retida usando um limite retangular. Essa abordagem é ideal quando você conhece as coordenadas e o tamanho da região desejada dentro da imagem.
// Load the image.
using (RasterImage rasterImage = (RasterImage)Image.Load("image.png"))
{
// Before cropping, the image should be cached for better performance.
if (!rasterImage.IsCached)
{
rasterImage.CacheData();
}
// Create an instance of Rectangle class with desired size and crop the image.
Rectangle rectangle = new Rectangle(20, 20, 20, 20);
rasterImage.Crop(rectangle);
// Save cropped image.
rasterImage.Save("cropped.png");
}
Este método é especialmente útil quando você precisa isolar uma seção particular de uma imagem, como uma área de produto em uma foto de ecommerce, um bloco de texto de um documento digitalizado ou uma região de interesse em um diagrama. Definir e aplicar tal retângulo é tanto intuitivo quanto altamente eficiente.
Licença de Avaliação Gratuita
Você pode obter uma licença temporária gratuita para avaliar muitas outras funcionalidades oferecidas pela API em sua totalidade.
Conclusão
Recortar imagens em C# não precisa ser complicado. Seja para aparar bordas ou extrair uma região específica, você pode fazer o trabalho rapidamente e com precisão. Com suporte para recortes baseados em deslocamento e retângulo, você tem a flexibilidade de abordar uma ampla gama de casos de uso do mundo real, desde imagem de documentos até personalização de conteúdo.
Ao integrar essas funcionalidades em suas aplicações .NET, você pode automatizar tarefas de edição de imagens, melhorar a experiência do usuário e manter a formatação consistente em grandes conjuntos de dados.