
JPEG o JPG è uno dei formati di immagine più comunemente usati per archiviare immagini e foto. In alcuni casi, potrebbe essere necessario ritagliare o ruotare le immagini per vari motivi. In questo articolo impareremo come ritagliare e ridimensionare le immagini JPEG usando C#.
In questo articolo verranno trattati i seguenti argomenti:
- API di immagini C# per ritagliare e ridimensionare JPEG
- Ritaglia le immagini JPEG usando C#
- Ritaglia le immagini a una dimensione specifica
- Ridimensiona le immagini JPEG in C#
- Ridimensiona le immagini JPEG in modo proporzionale
API C# Imaging per ritagliare e ridimensionare JPEG
Per ritagliare e ridimensionare le immagini, utilizzeremo l’API Aspose.Imaging for .NET. Ci consente di creare, caricare, manipolare, convertire e comprimere immagini o foto in modo programmatico. Si prega di scaricarela DLL dell’API o installarla utilizzando NuGet.
PM> Install-Package Aspose.Imaging
Ritaglia le immagini JPEG usando C#
Possiamo facilmente ritagliare qualsiasi immagine JPEG/JPG da tutti i lati verso il centro dell’immagine. A tale scopo, la classe RasterImage fornisce il metodo Crop(Int32, Int32, Int32, Int32) che ritaglia l’immagine con valori di spostamento specificati. Prende i valori di spostamento a sinistra, a destra, in alto e in basso come argomenti per ritagliare i contorni dell’immagine. Possiamo ritagliare le immagini utilizzando l’approccio ritaglio per spostamento seguendo i passaggi indicati di seguito:
- Innanzitutto, carica l’immagine JPG di input utilizzando la classe RasterImage.
- Quindi, memorizza nella cache l’immagine utilizzando il metodo CacheData.
- Dopodiché, chiama il metodo Crop() con i valori shift come argomenti.
- Infine, chiama il metodo Save() con il percorso del file di output come argomento per salvare il file di immagine ritagliato.
L’esempio di codice seguente mostra come ritagliare un’immagine JPEG usando C#.
// Questo esempio di codice mostra come ritagliare un'immagine JPG usando l'approccio ritaglio per turno.
// Carica un'immagine esistente in un'istanza della classe RasterImage
RasterImage rasterImage = (RasterImage)Image.Load(@"C:\Files\images\aspose_logo.jpg");
// Prima del ritaglio, l'immagine dovrebbe essere memorizzata nella cache per prestazioni migliori
if (!rasterImage.IsCached)
{
rasterImage.CacheData();
}
// Definire i valori di spostamento per tutti e quattro i lati
int leftShift = 30;
int rightShift = 30;
int topShift = 30;
int bottomShift = 30;
// In base ai valori di spostamento, applica il ritaglio sull'immagine
// Il metodo di ritaglio sposterà i bordi dell'immagine verso il centro dell'immagine
rasterImage.Crop(leftShift, rightShift, topShift, bottomShift);
// Salva l'immagine ritagliata
rasterImage.Save(@"C:\Files\images\cropped_out.jpg");

Ritaglia le immagini JPEG usando C#.
Ritaglia le immagini a dimensioni specifiche usando C#
La classe RasterImage fornisce anche un metodo Crop(Rectangle) sovraccarico che ritaglia un’area particolare di un’immagine a una dimensione specificata. Prende un’istanza della classe Rectangle come argomento. Possiamo ritagliare le immagini a una dimensione specificata seguendo i passaggi indicati di seguito:
- Innanzitutto, carica l’immagine JPG di input utilizzando la classe RasterImage.
- Quindi, memorizza nella cache l’immagine utilizzando il metodo CacheData.
- Quindi, inizializza l’oggetto della classe Rectangle con la posizione e le dimensioni specificate.
- Successivamente, chiama il metodo Crop() con l’oggetto Rectangle creato come argomento.
- Infine, chiama il metodo Save() con il percorso del file di output come argomento per salvare il file di immagine ritagliato .
L’esempio di codice seguente mostra come ritagliare un’immagine JPEG a una dimensione specifica usando C#.
// Questo esempio di codice mostra come ritagliare un'immagine JPG usando l'approccio crop by Rectangle.
// Carica un'immagine esistente in un'istanza della classe RasterImage
RasterImage rasterImage = (RasterImage)Image.Load(@"C:\Files\images\aspose_logo.jpg");
// Prima del ritaglio, l'immagine dovrebbe essere memorizzata nella cache per prestazioni migliori
if (!rasterImage.IsCached)
{
rasterImage.CacheData();
}
// Crea un'istanza della classe Rectangle con la dimensione desiderata
Rectangle rectangle = new Rectangle(35, 35, 580, 240);
// Eseguire l'operazione di ritaglio sull'oggetto della classe Rectangle
rasterImage.Crop(rectangle);
// Salva l'immagine ritagliata
rasterImage.Save(@"C:\Files\images\CroppingByRectangle_out.jpg");

Ritaglia l’immagine a dimensioni specifiche usando C#.
Ridimensiona le immagini JPEG in C#
La classe Image fornisce il metodo Resize() per ridimensionare le immagini. Possiamo ridimensionare le immagini JPEG seguendo i passaggi indicati di seguito:
- Innanzitutto, carica l’immagine JPG di input utilizzando la classe Image.
- Quindi, chiama il metodo Resize(int32, int32) con la larghezza e l’altezza richieste come argomenti.
- Infine, chiama il metodo Save() con il percorso del file di output come argomento per salvare l’immagine ridimensionata .
L’esempio di codice seguente mostra come ridimensionare un’immagine JPEG usando C#.
// Questo esempio di codice mostra come ritagliare un'immagine JPG usando l'approccio Ritaglia per Rectangle.
// Carica un'immagine esistente
Image image = Image.Load(@"C:\Files\images\aspose_logo.jpg");
// Nuova larghezza e altezza
image.Resize(300, 100);
// Salva l'immagine ridimensionata
image.Save(@"C:\Files\images\SimpleResizing_out.jpg");

Ridimensiona le immagini JPEG in C#.
Ridimensiona le immagini JPEG in modo proporzionale in C#
Potremmo ottenere immagini allungate quando ridimensioniamo con altezza e larghezza fisse. Possiamo usare il ridimensionamento proporzionale per evitare immagini allungate. A tale scopo, la classe Image fornisce i metodi ResizeWidthProportionally(Int32) e ResizeHeightProportionally(Int32). Segui i passaggi indicati di seguito per ridimensionare un’immagine proporzionalmente alla larghezza e all’altezza.
- Innanzitutto, carica l’immagine JPG di input utilizzando la classe Image.
- Quindi, chiama il metodo Image.ResizeWidthProportionally(Int32) con una nuova larghezza come argomenti.
- Successivamente, chiama il metodo Image.ResizeHeightProportionally(Int32) con una nuova altezza come argomenti.
- Infine, chiama il metodo Save() con il percorso del file di output come argomento per salvare l’immagine ridimensionata .
L’esempio di codice seguente mostra come ridimensionare un’immagine JPEG in modo proporzionale usando C#.
// Questo esempio di codice mostra come ritagliare un'immagine JPG usando l'approccio Ritaglia per Rectangle.
// Carica un'immagine esistente
Image image = Image.Load(@"C:\Files\images\sample.jpg");
// Larghezza
int newLarghezza = image.Larghezza / 2;
image.ResizeLarghezzaProportionally(newLarghezza);
// Altezza
int newAltezza = image.Altezza / 2;
image.ResizeAltezzaProportionally(newAltezza);
// Definisci le opzioni di salvataggio
JpegOptions saveOptions = new JpegOptions();
saveOptions.Quality = 100;
// Salva l'immagine
image.Save(@"C:\Files\images\sample_out.jpg", saveOptions);
Ottieni una licenza gratuita
Prova l’API senza limitazioni di valutazione richiedendo una licenza temporanea gratuita.
Conclusione
In questo articolo abbiamo imparato a:
- ritaglia le immagini JPEG in C#;
- ritaglia un’immagine a una dimensione specifica;
- ridimensionare le immagini JPEG in modo programmatico;
- ridimensionare le immagini JPEG in modo proporzionale.
Inoltre, puoi saperne di più su Aspose.Imaging per .NET API usando la documentazione. In caso di ambiguità, non esitare a contattarci sul forum.