ridimensiona le immagini in c#

Spesso otteniamo immagini con dimensioni che non soddisfano i nostri requisiti, quindi dobbiamo ridimensionarle di conseguenza. In questo articolo imparerai come ridimensionare le immagini usando C# dalle tue applicazioni .NET. Inoltre, imparerai come ridimensionare in modo esplicito immagini raster e immagini vettoriali.

API .NET per ridimensionare le immagini

Per ridimensionare le immagini. useremo Aspose.Imaging for .NET. È una potente API di elaborazione delle immagini per manipolare vari tipi di immagini raster e vettoriali. Puoi scaricare la DLL dell’API o installarla tramite NuGet.

PM> Install-Package Aspose.Imaging

Ridimensiona le immagini raster usando C#

Esistono due metodi per ridimensionare le immagini raster (PNG, GIF, JPEG, ecc.): ridimensionamento semplice e ridimensionamento utilizzando un tipo di ridimensionamento. Nel ridimensionamento semplice, le immagini vengono ridimensionate fornendo l’altezza e la larghezza. Considerando che il secondo metodo utilizza diverse tecniche di ridimensionamento. Le sezioni seguenti illustrano come ridimensionare un’immagine utilizzando ciascuno dei metodi sopra menzionati.

Semplice ridimensionamento di un’immagine

Di seguito sono riportati i passaggi per ridimensionare un’immagine in C#.

Nell’esempio di codice seguente viene illustrato come ridimensionare un’immagine nelle applicazioni .NET.

// Carica immagine
using (Image image = Image.Load("aspose-logo.jpg"))
{
    // Ridimensiona l'immagine e salva l'immagine ridimensionata
    image.Resize(300, 300);
    image.Save("SimpleResizing_out.jpg");
}

Ridimensiona l’immagine usando un tipo di ridimensionamento

L’enumerazione ResizeType viene utilizzata per specificare le tecniche di ridimensionamento che è possibile utilizzare in base alle proprie esigenze. L’elenco completo dei tipi di ridimensionamento supportati è disponibile qui. Di seguito sono riportati i passaggi per ridimensionare un’immagine utilizzando una particolare tecnica di ridimensionamento.

L’esempio di codice seguente ridimensiona l’immagine utilizzando una tecnica di ridimensionamento particolare.

// Carica immagine
using (Image image = Image.Load("aspose-logo.jpg"))
{
    // Ridimensiona l'immagine e salva l'immagine ridimensionata
    image.Resize(300, 300, ResizeType.LanczosResample);
    image.Save("SimpleResizing_out.jpg");
}

Ridimensiona l’immagine in modo proporzionale

Il ridimensionamento delle immagini specificando altezza e larghezza può comportare un’immagine ridotta o ridimensionata. Pertanto, è necessario calcolare manualmente le proporzioni. Tuttavia, qualsiasi errore di calcolo nelle proporzioni può portare a un’immagine allungata. Per evitare tali problemi, puoi utilizzare il ridimensionamento proporzionale. Di seguito sono riportati i passaggi per raggiungere questo obiettivo.

Nel caso in cui desideri utilizzare un particolare tipo di ridimensionamento durante il ridimensionamento delle immagini in modo proporzionale, utilizza i metodi di sovraccarico Image.ResizeWidthProportionally(Int32, ResizeType) e Image.ResizeHeightProportionally(Int32, ResizeType).

Nell’esempio di codice seguente viene illustrato come ridimensionare un’immagine in modo proporzionale usando C#.

// Carica immagine
using (Image image = Image.Load("aspose-logo.png"))
{
    // Memorizza i dati dell'immagine nella cache
    if (!image.IsCached)
    {
        image.CacheData();
    }
    
    // Specificare larghezza e altezza
    int newWidth = image.Width / 2;
    image.ResizeWidthProportionally(newWidth);
    int newHeight = image.Height / 2;
    image.ResizeHeightProportionally(newHeight);
    
    // Salva immagine
    image.Save("ResizeImageProportionally_out.png");
}

Ridimensiona le immagini vettoriali in C#

Aspose.Imaging per .NET consente inoltre di ridimensionare le immagini vettoriali e salvarle in un formato immagine raster. L’esempio di codice seguente mostra come ridimensionare un’immagine SVG e salvare l’output in formato PNG.

// Carica immagine
using (Image image = Image.Load("image.svg"))
 {
    // Ridimensiona l'immagine come PNG
    image.Resize(image.Width * 10,image.Height * 15);
    image.Save("Logotype_10_15.png", new PngOptions()
    {
        VectorRasterizationOptions = new SvgRasterizationOptions()
    });
 }

Ottieni una licenza API gratuita

Puoi ottenere una licenza temporanea gratuita per utilizzare Aspose.Imaging per .NET senza limitazioni di valutazione.

Conclusione

In questo articolo hai imparato come ridimensionare le immagini a livello di codice usando C#. Inoltre, gli esempi di codice hanno dimostrato come eseguire il semplice ridimensionamento delle immagini o il ridimensionamento utilizzando un tipo particolare. Abbiamo anche spiegato come evitare il calcolo manuale delle proporzioni durante il ridimensionamento delle immagini. Inoltre, alla fine viene discusso anche il ridimensionamento delle immagini vettoriali. Inoltre, puoi esplorare di più sull’API di elaborazione delle immagini .NET utilizzando documentazione. Inoltre, puoi scaricare il pacchetto completo di esempi di codice sorgente da GitHub. In caso di domande, puoi contattarci sul nostro forum.

Guarda anche