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
- Ridimensiona le immagini raster
- Ridimensiona l’immagine in modo proporzionale
- Ridimensionamento delle 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#.
- Per prima cosa, carica il file immagine usando la classe Image.
- Quindi, ridimensiona l’immagine chiamando il metodo Image.Resize(Int32, Int32).
- Infine, salva l’immagine ridimensionata usando il metodo Image.Save(string).
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.
- Per prima cosa, carica l’immagine usando la classe Image.
- Quindi, ridimensiona l’immagine chiamando il metodo Image.Resize(Int32, Int32, ResizeType).
- Infine, salva l’immagine ridimensionata usando il metodo Image.Save(string).
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.
- Per prima cosa, carica il file immagine usando la classe Image.
- Quindi, memorizza nella cache i dati dell’immagine utilizzando il metodo Image.CacheData().
- Specificare la nuova altezza e larghezza dell’immagine.
- Calcola i valori di proporzione usando il metodo Image.ResizeWidthProportionally(Int32) e Image.ResizeHeightProportionally(Int32).
- Infine, salva l’immagine ridimensionata usando il metodo Image.Save(string).
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.