Cortar imagens em C#

A edição de imagens é bastante comum nos dias de hoje e em vários casos, precisamos manipular as imagens para obter os resultados desejados. Como programador, pode haver um caso para você implementar os recursos de edição de imagem de dentro dos aplicativos que você está construindo. Recentemente, abordamos como redimensionar, girar e virar imagens programaticamente. Hoje, vamos mostrar como cortar imagens usando C# em seus aplicativos .NET. Discutiremos como realizar o recorte de imagem usando valores de deslocamento ou com um retângulo.

API C# para cortar imagens - download gratuito

Para corte de imagem em C#, usaremos Aspose.Imaging for .NET. É uma API rica em recursos para manipular perfeitamente as imagens de formatos populares. Você pode baixar a API ou instalá-la em seus aplicativos .NET usando NuGet.

PM> Install-Package Aspose.Imaging

Cortar imagens em C#

Aspose.Imaging para .NET fornece duas maneiras de cortar uma imagem. No primeiro método, precisamos fornecer valores de deslocamento para a esquerda, para a direita, para cima e para baixo. Já no segundo método, definimos um retângulo para recortar uma determinada área de uma imagem.

Nas seções a seguir, demonstraremos como usar os dois métodos mencionados acima para cortar imagens em C#.

Cortar imagens com valores de deslocamento em C#

A seguir estão as etapas para cortar uma imagem usando valores de deslocamento em C#.

  • Primeiro, carregue a imagem em um objeto RasterImage usando o método Image.Load().
  • Armazene a imagem em cache para um melhor desempenho.
  • Defina os valores de deslocamento esquerdo, direito, superior e inferior.
  • Passe os valores de deslocamento para o método RasterImage.Crop() para cortar a imagem.
  • Salve a imagem cortada usando o método RasterImage.Save().

O exemplo de código a seguir mostra como cortar uma imagem em C#.

// Carregue a imagem a ser cortada.
using (RasterImage rasterImage = (RasterImage)Image.Load("image.png"))
{
    // Antes de cortar, a imagem deve ser armazenada em cache para melhor desempenho.
    if (!rasterImage.IsCached)
    {
        rasterImage.CacheData();
    }

    // Defina valores de deslocamento para todos os quatro lados.
    int leftShift = 10;
    int rightShift = 10;
    int topShift = 50;
    int bottomShift = 50;

    // Com base nos valores de deslocamento, aplique o corte na imagem. O método Crop deslocará os limites da imagem para o centro da imagem.
    rasterImage.Crop(leftShift, rightShift, topShift, bottomShift);

    // Salve a imagem cortada.
    rasterImage.Save("cropped.png");
}

A seguir está a imagem de entrada que usamos para cortar.

cortar imagem em C#

Abaixo está a imagem recortada resultante.

corte de imagem em c#

Corte de imagem C # usando retângulo

Você também pode definir um retângulo para cortar a área desejada de uma imagem. As etapas a seguir demonstram o corte de imagem com um retângulo em C#.

O exemplo de código a seguir mostra como realizar o corte de imagem com um retângulo em C#.

// Carregue a imagem.
using (RasterImage rasterImage = (RasterImage)Image.Load("image.png"))
{
    // Antes de cortar, a imagem deve ser armazenada em cache para melhor desempenho.
    if (!rasterImage.IsCached)
    {
        rasterImage.CacheData();
    }

    // Crie uma instância da classe Rectangle com o tamanho desejado e corte a imagem.
    Rectangle rectangle = new Rectangle(20, 20, 20, 20);             
    rasterImage.Crop(rectangle);

    // Salve a imagem cortada.
    rasterImage.Save("cropped.png");
}

API de corte de imagem para C# - Obtenha uma licença gratuita

Você pode obter uma licença temporária gratuita e cortar imagens sem limitações de avaliação.

Crie seu aplicativo de corte de imagem

Neste artigo, você aprendeu como cortar imagens em C#. Demonstramos algumas maneiras de cortar uma imagem usando valores de deslocamento ou com um retângulo. Agora, você pode criar facilmente seu aplicativo de corte de imagem ou aprimorar os recursos de edição de imagem do aplicativo existente. Para explorar mais sobre a API de edição de imagem C#, você pode visitar a documentação. Além disso, você pode compartilhar suas dúvidas conosco através do nosso fórum.

Veja também