Redimensionar Imagens C#

Redimensionar imagens é uma operação comum em processamento de imagens, útil em vários cenários, como preparar imagens para publicação na web, miniaturas ou reduzir tamanhos de arquivos. Neste artigo, exploraremos como redimensionar imagens em C#. Você aprenderá como redimensionar imagens rasterizadas como JPG ou PNG, realizar redimensionamento proporcional e lidar com imagens vetoriais como SVGs com precisão.

Por que redimensionar imagens em C#?

Redimensionar imagens programaticamente dá a você a capacidade de automatizar e escalar tarefas de processamento de imagem sem intervenção manual. Aqui estão algumas razões pelas quais isso é necessário:

  • Ajuda a otimizar o tamanho das imagens para reduzir os tempos de carregamento e o uso de largura de banda em aplicações web.
  • Garante uma exibição consistente em várias plataformas e tamanhos de tela.
  • Ajuda a gerar visualizações de imagem e miniaturas dinamicamente.
  • Permite ajustes automáticos de imagem em fluxos de trabalho como geração de documentos, arquivamento ou publicação.

Redimensionar Imagens - Instalação da API C#

Você pode instalar a versão estável mais recente do Conholdate.Total for .NET usando o seguinte comando de instalação do NuGet em seu sistema:

PM> NuGet\Install-Package Conholdate.Total

Redimensionar Imagens em C#

Vamos começar com o redimensionamento básico de imagens raster, como JPGs, usando dimensões fixas em C#. Simplesmente siga os passos abaixo:

  1. Carregue uma imagem JPG do arquivo usando Image.Load().
  2. Chame o método Resize() para definir a largura e a altura para 300 pixels cada.
  3. Salve a imagem redimensionada usando image.Save().

O código de amostra abaixo demonstra o redimensionamento de imagem em C#:

// Load image
using (Image image = Image.Load("aspose-logo.jpg"))
{
    // Redimensionar a imagem e salvar a imagem redimensionada
    image.Resize(300, 300);
    image.Save("SimpleResizing_out.jpg");
}

Redimensionar Imagens Proporcionalmente em C#

Esta seção demonstra como redimensionar uma imagem PNG enquanto mantém sua proporção original em C#.

  1. Carregue a imagem PNG usando Image.Load().
  2. Verifique se a imagem está em cache; se não estiver, chame CacheData() para desempenho.
  3. Divida a largura e a altura atuais por 2 para calcular novas dimensões proporcionais.
  4. Use ResizeWidthProportionally() e ResizeHeightProportionally() para manter a proporção.
  5. Salve a imagem redimensionada com o método image.Save().

O seguinte trecho de código mostra o redimensionamento proporcional de imagens em C#:

// Load image
using (Image image = Image.Load("aspose-logo.png"))
{
    // Cache image data
    if (!image.IsCached)
    {
        image.CacheData();
    }
    
    // Especifique a largura e a altura
    int newWidth = image.Width / 2;
    image.ResizeWidthProportionally(newWidth);
    int newHeight = image.Height / 2;
    image.ResizeHeightProportionally(newHeight);
    
    // Salvar imagem
    image.Save("ResizeImageProportionally_out.png");

Redimensionar Imagens Vetoriais em C#

Este exemplo ilustra como redimensionar uma imagem vetorial (SVG) em C#:

  1. Carregue uma imagem vetorial SVG usando Image.Load().
  2. Multiplique a largura e a altura atuais pelos fatores de escala (10 e 15).
  3. Chame Resize() com a nova largura e altura.
  4. Salve a imagem redimensionada como PNG usando image.Save() com PngOptions.
  5. Especifique as SvgRasterizationOptions para garantir a renderização adequada da imagem vetorial.

O exemplo de código abaixo explica como redimensionar imagens vetoriais em C#:

// Load image
using (Image image = Image.Load("image.svg"))
 {
    // Redimensionar imagem como PNG
    image.Resize(image.Width * 10,image.Height * 15);
    image.Save("Logotype_10_15.png", new PngOptions()
    {
        VectorRasterizationOptions = new SvgRasterizationOptions()
    });
 }

Licença de Avaliação Gratuita

Você pode avaliar esses, assim como muitos outros recursos oferecidos pela API, obtendo uma licença temporária gratuita .

Resumindo

Redimensionar imagens é uma função essencial para aplicativos que gerenciam, exibem ou exportam conteúdo visual. Com o Conholdate.Total para .NET, redimensionar imagens em C# se torna eficiente e amigável para desenvolvedores. Ele suporta uma variedade de formatos e fornece controle preciso sobre o comportamento de redimensionamento, seja você trabalhando com dimensões fixas, mantendo proporções ou convertendo imagens vetoriais. No entanto, se você tiver alguma dúvida, sinta-se à vontade para entrar em contato conosco em forum.

Veja Também