Aggiungere un Filigrana a un'Immagine
Aggiungere un Filigrana a un’Immagine
Questo documento spiega come aggiungere un filigrana a un’immagine utilizzando Aspose.PSD. Aggiungere un filigrana a un’immagine è un requisito comune per le applicazioni di elaborazione delle immagini. Questo esempio utilizza la classe Graphics per disegnare una stringa sulla superficie dell’immagine.
Aggiungere un Filigrana
Per dimostrare l’operazione, caricheremo un’immagine BMP dal disco e disegneremo una stringa come filigrana sulla superficie dell’immagine utilizzando il metodo DrawString della classe Graphics. Salveremo l’immagine in formato PNG utilizzando la classe PngOptions. Di seguito è riportato un esempio di codice che dimostra come aggiungere un filigrana a un’immagine. Il codice di esempio è stato suddiviso in parti per renderlo facile da seguire. Passo dopo passo, gli esempi mostrano come:
- Caricare un’immagine.
- Creare e inizializzare un oggetto Graphics.
- Creare e inizializzare oggetti Font e SolidBrush.
- Disegnare una stringa come filigrana utilizzando il metodo DrawString della classe Graphics.
- Salvare l’immagine in formato PNG.
Il seguente frammento di codice mostra come aggiungere un filigrana all’immagine.
// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET | |
// Load a PSD file as an image and cast it into PsdImage | |
using (PsdImage psdImage = (PsdImage)Image.Load(dataDir + "layers.psd")) | |
{ | |
// Create graphics object to perform draw operations. | |
Graphics graphics = new Graphics(psdImage); | |
// Create font to draw watermark with. | |
Font font = new Font("Arial", 20.0f); | |
// Create a solid brush with color alpha set near to 0 to use watermarking effect. | |
using (SolidBrush brush = new SolidBrush(Color.FromArgb(50, 128, 128, 128))) | |
{ | |
// Specify string alignment to put watermark at the image center. | |
StringFormat sf = new StringFormat(); | |
sf.Alignment = StringAlignment.Center; | |
sf.LineAlignment = StringAlignment.Center; | |
// Draw watermark using font, partly-transparent brush and rotation matrix at the image center. | |
graphics.DrawString("Some watermark text", font, brush, new RectangleF(0, 0, psdImage.Width, psdImage.Height), sf); | |
} | |
// Export the image into PNG file format. | |
psdImage.Save(dataDir + "AddWatermark_output.png", new PngOptions()); | |
} |
Aggiungere un Filigrana Diagonale
Aggiungere un filigrana diagonale a un’immagine è simile all’aggiunta di un filigrana orizzontale come discusso in precedenza, con alcune differenze. Per dimostrare l’operazione, caricheremo un’immagine JPG dal disco, aggiungeremo trasformazioni utilizzando un oggetto della classe Matrix e disegneremo una stringa come filigrana sulla superficie dell’immagine utilizzando il metodo DrawString della classe Graphics. Di seguito è riportato un esempio di codice che dimostra come aggiungere un filigrana diagonale a un’immagine. Il codice di esempio è stato suddiviso in parti per renderlo facile da seguire. Passo dopo passo, gli esempi mostrano come:
- Caricare un’immagine.
- Creare e inizializzare un oggetto Graphics.
- Creare e inizializzare oggetti Font e SolidBrush.
- Ottenere le dimensioni dell’immagine in un oggetto SizeF.
- Creare un’istanza della classe Matrix e eseguire la trasformazione composita.
- Assegnare la trasformazione all’oggetto Graphics.
- Creare e inizializzare un oggetto StringFormat.
- Disegnare una stringa come filigrana utilizzando il metodo DrawString della classe Graphics.
- Salvare l’immagine risultante.
Il seguente frammento di codice mostra come aggiungere un filigrana diagonale.
// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET | |
// Load a PSD file as an image and cast it into PsdImage | |
using (PsdImage psdImage = (PsdImage)Image.Load(dataDir + "layers.psd")) | |
{ | |
// Create graphics object to perform draw operations. | |
Graphics graphics = new Graphics(psdImage); | |
// Create font to draw watermark with. | |
Font font = new Font("Arial", 20.0f); | |
// Create a solid brush with color alpha set near to 0 to use watermarking effect. | |
using (SolidBrush brush = new SolidBrush(Color.FromArgb(50, 128, 128, 128))) | |
{ | |
// specify transform matrix to rotate watermark. | |
graphics.Transform = new Matrix(); | |
graphics.Transform.RotateAt(45, new PointF(psdImage.Width / 2, psdImage.Height / 2)); | |
// Specify string alignment to put watermark at the image center. | |
StringFormat sf = new StringFormat(); | |
sf.Alignment = StringAlignment.Center; | |
// Draw watermark using font, partly-transparent brush at the image center. | |
graphics.DrawString("Some watermark text", font, brush, new RectangleF(0, psdImage.Height / 2, psdImage.Width, psdImage.Height / 2), sf); | |
} | |
// Export the image into PNG file format. | |
psdImage.Save(dataDir + "AddDiagnolWatermark_output.png", new PngOptions()); | |
} |