Cortar e redimensionar imagem JPEG usando C#

JPEG ou JPG é um dos formatos de imagem mais usados para armazenar imagens e fotos. Em certos casos, podemos precisar cortar ou girar imagens por vários motivos. Neste artigo, aprenderemos como cortar e redimensionar imagens JPEG usando C#.

Os seguintes tópicos serão abordados neste artigo:

API de imagem C# para cortar e redimensionar JPEG

Para cortar e redimensionar imagens, usaremos a API Aspose.Imaging for .NET. Ele nos permite criar, carregar, manipular, converter e compactar imagens ou fotos programaticamente. Por favor, downloada DLL da API ou instale-a usando NuGet.

PM> Install-Package Aspose.Imaging

Cortar imagens JPEG usando C#

Podemos cortar facilmente qualquer imagem JPEG/JPG de todos os lados em direção ao centro da imagem. Para isso, a classe RasterImage fornece o método Crop(Int32, Int32, Int32, Int32) que corta a imagem com valores de deslocamento especificados. Leva valores de deslocamento para a esquerda, direita, superior e inferior como argumentos para cortar os limites da imagem. Podemos cortar as imagens usando a abordagem de corte por deslocamento seguindo as etapas abaixo:

  1. Primeiramente, carregue a imagem JPG de entrada usando a classe RasterImage.
  2. Em seguida, armazene a imagem em cache usando o método CacheData.
  3. Depois disso, chame o método Crop() com os valores de deslocamento como argumentos.
  4. Finalmente, chame o método Save() com o caminho do arquivo de saída como um argumento para salvar o arquivo de imagem recortado.

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

// Este exemplo de código demonstra como cortar a imagem JPG usando a abordagem de corte por turno.
// Carregar uma imagem existente em uma instância da classe RasterImage
RasterImage rasterImage = (RasterImage)Image.Load(@"C:\Files\images\aspose_logo.jpg");

// Antes de cortar, a imagem deve ser armazenada em cache para melhor desempenho
if (!rasterImage.IsCached)
{
    rasterImage.CacheData();
}

// Definir valores de deslocamento para todos os quatro lados
int leftShift = 30;
int rightShift = 30;
int topShift = 30;
int bottomShift = 30;

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

// Salve a imagem cortada
rasterImage.Save(@"C:\Files\images\cropped_out.jpg");
Cortar imagens JPEG usando C#

Corte imagens JPEG usando C#.

Cortar imagens para tamanho específico usando C#

A classe RasterImage também fornece um método Crop(Rectangle) sobrecarregado que corta uma área específica de uma imagem em um tamanho especificado. Recebe uma instância da classe Rectangle como argumento. Podemos cortar imagens em um tamanho especificado seguindo as etapas abaixo:

  1. Em primeiro lugar, carregue a imagem JPG de entrada usando a classe RasterImage.
  2. Em seguida, armazene a imagem em cache usando o método CacheData.
  3. Em seguida, inicialize o objeto da classe Rectangle com o local e o tamanho especificados.
  4. Depois disso, chame o método Crop() com o objeto Rectangle criado como argumento.
  5. Por fim, chame o método Save() com o caminho do arquivo de saída como um argumento para salvar o arquivo de imagem recortado .

O exemplo de código a seguir mostra como cortar uma imagem JPEG em um tamanho específico usando C#.

// Este exemplo de código demonstra como cortar uma imagem JPG usando a abordagem de corte por retângulo.
// Carregar uma imagem existente em uma instância da classe RasterImage
RasterImage rasterImage = (RasterImage)Image.Load(@"C:\Files\images\aspose_logo.jpg");

// 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
Rectangle rectangle = new Rectangle(35, 35, 580, 240);

// Execute a operação de corte no objeto da classe Rectangle
rasterImage.Crop(rectangle);

// Salve a imagem cortada
rasterImage.Save(@"C:\Files\images\CroppingByRectangle_out.jpg");
Cortar imagem em tamanho específico usando C#.

Cortar imagem para tamanho específico usando C#.

Redimensionar imagens JPEG em C#

A classe Image fornece o método Resize() para redimensionar as imagens. Podemos redimensionar imagens JPEG seguindo as etapas abaixo:

  1. Em primeiro lugar, carregue a imagem JPG de entrada usando a classe Image.
  2. Em seguida, chame o método Resize(int32, int32) com a largura e a altura necessárias como argumentos.
  3. Por fim, chame o método Save() com o caminho do arquivo de saída como um argumento para salvar a imagem redimensionada .

O exemplo de código a seguir mostra como redimensionar uma imagem JPEG usando C#.

// Este exemplo de código demonstra como cortar uma imagem JPG usando a abordagem de corte por retângulo.
// Carregar uma imagem existente
Image image = Image.Load(@"C:\Files\images\aspose_logo.jpg");

// Nova largura e altura
image.Resize(300, 100);

// Salve a imagem redimensionada
image.Save(@"C:\Files\images\SimpleResizing_out.jpg");
Redimensionar imagens JPEG em C#

Redimensione imagens JPEG em C#.

Redimensionar imagens JPEG proporcionalmente em C

Podemos obter imagens esticadas quando redimensionamos com altura e largura fixas. Podemos usar o redimensionamento proporcional para evitar imagens esticadas. Para isso, a classe Image fornece os métodos ResizeWidthProportionally(Int32) e ResizeHeightProportionally(Int32). Siga as etapas abaixo para redimensionar uma imagem proporcionalmente à largura e à altura.

  1. Em primeiro lugar, carregue a imagem JPG de entrada usando a classe Image.
  2. Em seguida, chame o método Image.ResizeWidthProportionally(Int32) com nova largura como argumentos.
  3. Depois disso, chame o método Image.ResizeHeightProportionally(Int32) com nova altura como argumentos.
  4. Por fim, chame o método Save() com o caminho do arquivo de saída como um argumento para salvar a imagem redimensionada .

O exemplo de código a seguir mostra como redimensionar uma imagem JPEG proporcionalmente usando C#.

// Este exemplo de código demonstra como cortar uma imagem JPG usando a abordagem de corte por retângulo.
// Carregar uma imagem existente
Image image = Image.Load(@"C:\Files\images\sample.jpg");

// Largura
int newLargura = image.Largura / 2;
image.ResizeLarguraProportionally(newLargura);

// Altura
int newAltura = image.Altura / 2;
image.ResizeAlturaProportionally(newAltura);

// Definir opções de salvamento
JpegOptions saveOptions = new JpegOptions();
saveOptions.Quality = 100;

// Salve a imagem
image.Save(@"C:\Files\images\sample_out.jpg", saveOptions);

Obtenha uma licença gratuita

Experimente a API sem limitações de avaliação solicitando uma licença temporária gratuita.

Conclusão

Neste artigo, aprendemos como:

  • cortar imagens JPEG em C#;
  • cortar uma imagem para um tamanho específico;
  • redimensionar imagens JPEG programaticamente;
  • redimensione imagens JPEG proporcionalmente.

Além disso, você pode aprender mais sobre Aspose.Imaging for .NET API usando a documentação. Em caso de qualquer ambiguidade, não hesite em contactar-nos no fórum.

Veja também