
Lavorare con le immagini programmaticamente in C# consente agli sviluppatori di eseguire varie manipolazioni come il ridimensionamento, la rotazione e il ritaglio. Tra queste operazioni, il ritaglio è particolarmente utile quando si desidera estrarre un’area specifica da un’immagine o rimuovere margini indesiderati. In questa guida, ci concentreremo su come ritagliare le immagini in C# utilizzando Conholdate.Total per .NET.
Ti guideremo attraverso due diverse tecniche di ritaglio, una utilizzando valori di shift per rifilare l’immagine da tutti i lati, e un’altra definendo un rettangolo personalizzato per isolare una specifica porzione dell’immagine. Ogni sezione contiene frammenti di codice ben documentati e approfondimenti pratici per applicazioni nel mondo reale.
Perché ritagliare le immagini programmaticamente in C#?
Ci sono diversi scenari in cui il ritaglio delle immagini in modo programmatico è vantaggioso:
Focus on Content: Il ritaglio consente di evidenziare una parte specifica di un’immagine, rendendolo ideale per foto profilo, miniature o scansioni di documenti.
Elaborazione automatizzata delle immagini: Nelle applicazioni che coinvolgono l’editing di immagini in massa o contenuti caricati dagli utenti, automatizzare il processo di ritaglio semplifica i flussi di lavoro ed elimina lo sforzo manuale.
Compliance e Privacy: Il ritaglio può essere utilizzato per rimuovere dati sensibili o irrilevanti prima della condivisione delle immagini.
Il ritaglio non è solo un aggiustamento estetico, è una parte cruciale dell’elaborazione dei dati, del design UX e delle prestazioni del sistema.
Ritaglia Immagini JPG PNG BMP - Configurazione API .NET
Puoi configurare Conholdate.Total per .NET facilmente con il comando di installazione NuGet qui sotto:
Install-Package Conholdate.Total
Ritaglia immagini spostando i lati in C#
Il primo metodo dimostra come ritagliare un’immagine spostando i suoi bordi verso l’interno. Questo è particolarmente utile quando si desidera tagliare i margini in modo uniforme o asimmetrico dai lati superiore, inferiore, sinistro e destro dell’immagine.
// Load the image to be cropped.
using (RasterImage rasterImage = (RasterImage)Image.Load("image.png"))
{
// Before cropping, the image should be cached for better performance.
if (!rasterImage.IsCached)
{
rasterImage.CacheData();
}
// Define shift values for all four sides.
int leftShift = 10;
int rightShift = 10;
int topShift = 50;
int bottomShift = 50;
// Based on the shift values, apply the cropping on image. Crop method will shift the image bounds toward the center of image.
rasterImage.Crop(leftShift, rightShift, topShift, bottomShift);
// Save cropped image.
rasterImage.Save("cropped.png");
}
In questo esempio, carichiamo un’immagine PNG e specifichiamo il numero di pixel da rimuovere da ciascun lato. Il metodo Crop adeguatamente regola le dimensioni dell’immagine verso l’interno, eliminando bordi non necessari mantenendo l’integrità dell’immagine. Utilizzando questo metodo, puoi ottenere un ritaglio coerente, basato sui bordi, ideale per documenti scannerizzati, catture dello schermo e bordi dell’immagine.
Ritagliare immagini utilizzando un rettangolo definito in C#
Il secondo metodo offre una maggiore precisione consentendoti di definire l’area esatta da mantenere utilizzando un confine rettangolare. Questo approccio è ideale quando conosci le coordinate e le dimensioni della regione desiderata all’interno dell’immagine.
// Load the image.
using (RasterImage rasterImage = (RasterImage)Image.Load("image.png"))
{
// Before cropping, the image should be cached for better performance.
if (!rasterImage.IsCached)
{
rasterImage.CacheData();
}
// Create an instance of Rectangle class with desired size and crop the image.
Rectangle rectangle = new Rectangle(20, 20, 20, 20);
rasterImage.Crop(rectangle);
// Save cropped image.
rasterImage.Save("cropped.png");
}
Questo metodo è particolarmente utile quando è necessario isolare una sezione particolare di un’immagine, come un’area prodotto in una foto di e-commerce, un blocco di testo da un documento scansionato o una regione di interesse in un diagramma. Definire e applicare un tale rettangolo è sia intuitivo che altamente efficiente.
Licenza di valutazione gratuita
Puoi ottenere una free temporary license per valutare molte altre funzionalità offerte dall’API nella loro piena capacità.
Conclusione
Ritagliare immagini in C# non deve essere complicato. Che tu debba ritagliare bordi o estrarre una regione specifica, puoi completare il lavoro rapidamente e con precisione. Con supporto sia per il ritaglio basato su spostamento che per quello basato su rettangolo, hai la flessibilità di affrontare un’ampia gamma di casi d’uso reali, dalla scansione di documenti alla personalizzazione dei contenuti.
Integrando queste funzionalità nelle tue applicazioni .NET, puoi automatizzare compiti di editing delle immagini, migliorare l’esperienza dell’utente e mantenere un formato coerente tra grandi set di dati.