Le filigrane nelle immagini vengono solitamente utilizzate per rivendicare la proprietà del contenuto. D’altra parte, le immagini sono filigranate per evitare l’uso o la contraffazione non autorizzati. In vari casi, potrebbe essere necessario automatizzare la funzione di filigrana all’interno delle applicazioni Web o desktop. Per tali scenari, questo articolo illustra come aggiungere filigrana alle immagini a livello di codice usando C#. Questo potrebbe essere utile anche quando devi filigranare un batch di immagini in una volta sola. Quindi iniziamo.
- API C# per aggiungere filigrana alle immagini
- Aggiungi filigrana a un’immagine in C#
- Aggiungi filigrana diagonale alle immagini in C#
- Ottieni la licenza API gratuita
API C# per aggiungere filigrana alle immagini
Per aggiungere filigrane alle immagini, utilizzeremo Aspose.Imaging for .NET. È una potente API di elaborazione delle immagini che supporta un’ampia gamma di formati di immagine. Inoltre, l’API semplifica la manipolazione delle immagini. Puoi scaricare binari dell’API o installarlo utilizzando NuGet.
PM> Install-Package Aspose.Imaging
Aggiungi filigrana a un’immagine in C#
Di seguito sono riportati i passaggi per aggiungere una filigrana a un’immagine usando C#.
- Carica l’immagine usando la classe Image.
- Crea un’istanza della classe Graphics e inizializzala con l’oggetto Image.
- Imposta la famiglia, la dimensione e il volto dei caratteri usando la classe Font.
- Crea un’istanza della classe SolidBrush e imposta le sue proprietà come il colore ecc.
- Istanzia la classe StringFormat per impostare l’allineamento del testo.
- Aggiungi filigrana all’immagine usando il metodo Graphics.DrawString(String, Font, SolidBrush, 0, 0, StringFormat).
- Salva l’immagine usando il metodo Image.Save(String).
L’esempio di codice seguente mostra come aggiungere una filigrana a un’immagine in C#.
// Carica un'immagine PNG esistente
using (Image image = Image.Load("image.png"))
{
// Dichiara un oggetto String con il testo filigrana
string theString = "This is watermark";
// Crea e inizializza un'istanza della classe Graphics e inizializza un oggetto di SizeF per memorizzare la dimensione dell'immagine
Graphics graphics = new Graphics(image);
SizeF sz = graphics.Image.Size;
// Crea un'istanza di Font, inizializzala con Font Face, Size e Style
Font font = new Font("Times New Roman", 20, FontStyle.Bold);
// Crea un'istanza di SolidBrush e imposta le sue varie proprietà
SolidBrush brush = new SolidBrush();
brush.Color = Color.Red;
brush.Opacity = 0;
// Inizializza un oggetto della classe StringFormat e imposta le sue varie proprietà
StringFormat format = new StringFormat();
format.Alignment = StringAlignment.Center;
format.FormatFlags = StringFormatFlags.MeasureTrailingSpaces;
// Disegna la stringa sull'immagine Salva l'output su disco
graphics.DrawString(theString, font, brush, 0, 0, format);
image.Save("watermarked.jpg");
}
Aggiungi filigrana diagonale alle immagini in C#
In vari casi, le filigrane vengono applicate alle immagini in diagonale. Per questo, Aspose.Imaging per .NET ti consente di trasformare il testo della filigrana su una certa angolazione. Di seguito sono riportati i passaggi per aggiungere una filigrana diagonale a un’immagine.
- Carica l’immagine usando la classe Image.
- Crea un’istanza della classe Graphics e inizializzala con l’oggetto Image.
- Imposta la famiglia, la dimensione e il volto dei caratteri usando la classe Font.
- Crea un’istanza della classe SolidBrush e imposta le sue proprietà come il colore ecc.
- Istanziare la classe StringFormat per impostare l’allineamento del testo.
- Crea un’istanza della classe Matrix e imposta l’angolo di trasformazione.
- Assegna l’oggetto Matrix alla proprietà Graphics.Transform.
- Aggiungi filigrana usando il metodo Graphics.DrawString(String, Font, SolidBrush, 0, 0, StringFormat).
- Salva l’immagine usando il metodo Image.Save(String).
L’esempio di codice seguente mostra come aggiungere una filigrana diagonale alle immagini usando C#.
// Carica un'immagine PNG esistente
using (Image image = Image.Load("Image.png"))
{
// Dichiara un oggetto String con il testo filigrana
string theString = "45 Degree Rotated Text";
// Crea e inizializza un'istanza della classe Graphics e inizializza un oggetto di SizeF per memorizzare la dimensione dell'immagine
Graphics graphics = new Graphics(image);
SizeF sz = graphics.Image.Size;
// Crea un'istanza di Font, inizializzala con Font Face, Size e Style
Font font = new Font("Times New Roman", 20, FontStyle.Bold);
// Crea un'istanza di SolidBrush e imposta le sue varie proprietà
SolidBrush brush = new SolidBrush();
brush.Color = Color.Red;
brush.Opacity = 0;
// Inizializza un oggetto della classe StringFormat e imposta le sue varie proprietà
StringFormat format = new StringFormat();
format.Alignment = StringAlignment.Center;
format.FormatFlags = StringFormatFlags.MeasureTrailingSpaces;
// Crea un oggetto della classe Matrix per la trasformazione
Matrix matrix = new Matrix();
// Prima una traslazione poi una rotazione
matrix.Translate(sz.Width / 2, sz.Height / 2);
matrix.Rotate(-45.0f);
// Imposta la trasformazione tramite Matrix
graphics.Transform = matrix;
// Disegna la stringa sull'immagine Salva l'output su disco
graphics.DrawString(theString, font, brush, 0, 0, format);
image.Save("watermarked.png");
}
Ottieni una licenza API gratuita
Nel caso in cui desideri provare l’API senza limitazioni di valutazione, puoi ottenere una licenza temporanea gratuita.
Conclusione
In questo articolo, hai imparato come aggiungere filigrana alle immagini usando C#. Inoltre, hai visto come trasformare il testo della filigrana in un angolo particolare. Puoi esplorare di più sull’API di elaborazione delle immagini C# utilizzando documentazione. In caso di domande o domande, contattaci tramite il nostro forum.