La popolare applicazione Photoshop di Adobe utilizza PSD (documento Photoshop) come formato di file immagine nativo. Viene comunemente utilizzato per creare loghi, brochure e altre immagini in cui il file PSD contiene diversi livelli. Possiamo facilmente proteggere il design aggiungendo la filigrana di testo o immagine a un file PSD in modo programmatico. In questo articolo impareremo come aggiungere una filigrana a un PSD in C#.
Questo articolo tratterà i seguenti argomenti:
- API C# Photoshop per aggiungere filigrana a PSD
- Aggiungi una filigrana di testo a PSD
- Crea una filigrana diagonale in PSD
- Aggiungi una filigrana immagine a PSD
API C# Photoshop per aggiungere filigrana a PSD
Per aggiungere una filigrana di testo o immagine in un file PSD, utilizzeremo l’API Aspose.PSD for .NET. È un’API di manipolazione del formato di file Adobe Photoshop facile da usare. Consente il caricamento e la lettura di file PSD e PSB in applicazioni .NET. L’API ci consente di aggiornare le proprietà dei livelli, aggiungere filigrane, eseguire compressione, rotazione, ridimensionamento o rendering di PSD e molti altri formati di file supportati senza la necessità di installare Adobe Photoshop.
La classe PsdImage dell’API consente di caricare, modificare e salvare file PSD. La classe Graphics rappresenta la grafica nell’immagine. Abbiamo il metodo DrawString(string, Font, Brush, RectangleF, StringFormat) di questa classe che disegna la stringa di testo specificata nel rettangolo specificato con gli oggetti brush e font specificati. La classe Layer rappresenta il livello PSD. Il metodo DrawImage(Point, RasterImage) di questa classe disegna l’immagine sul livello. Possiamo salvare il PSD nella posizione del file specificata utilizzando il metodo Save(string, ImageOptionsBase).
Si prega di scaricare la DLL dell’API o installarla utilizzando NuGet.
PM> Install-Package Aspose.PSD
Aggiungi filigrana di testo a PSD usando C#
Possiamo aggiungere qualsiasi testo come filigrana a un file PSD seguendo i passaggi indicati di seguito:
- Innanzitutto, carica il file PSD come PsdImage utilizzando la classe Image.
- Quindi, crea un’istanza della classe Graphics.
- Quindi, definisci un oggetto classe Font per disegnare la larghezza della filigrana.
- Quindi, crea un’istanza della classe SolidBrush con color.
- Quindi, specificare l’allineamento delle stringhe.
- Successivamente, chiama il metodo DrawString().
- Infine, salva il file di output usando il metodo Save().
L’esempio di codice seguente mostra come aggiungere una filigrana di testo a un file PSD in C#.
// Questo esempio di codice mostra come aggiungere una filigrana di testo a un file PSD
// Carica un file PSD come immagine e lancialo in PsdImage
PsdImage psdImage = (PsdImage)Image.Load(@"C:\Files\SimplePSD.psd");
// Crea oggetti grafici per eseguire operazioni di disegno.
Graphics graphics = new Graphics(psdImage);
// Crea un carattere con cui disegnare la filigrana.
Font font = new Font("Arial", 25.0f);
// Crea un pennello solido con alfa colore impostato vicino a 0 per utilizzare l'effetto filigrana.
SolidBrush brush = new SolidBrush(Color.FromArgb(80, 128, 128, 128));
// Specificare l'allineamento della stringa per mettere la filigrana al centro dell'immagine.
StringFormat sf = new StringFormat();
sf.Alignment = StringAlignment.Center;
sf.LineAlignment = StringAlignment.Center;
// Disegna la filigrana usando il carattere, il pennello parzialmente trasparente e la matrice di rotazione al centro dell'immagine.
graphics.DrawString("Sample Watermark Text", font, brush, new RectangleF(0, 0, psdImage.Width, psdImage.Height), sf);
// Esporta l'immagine in formato file PNG.
psdImage.Save(@"C:\Files\AddWatermark_output.png", new PngOptions());
Possiamo anche salvare l’output come file PSD utilizzando il seguente esempio di codice:
psdImage.Save(@"C:\Files\AddWatermark_output.psd", new PsdOptions());
Crea filigrana diagonale in PSD usando C#
Possiamo aggiungere una filigrana di testo diagonale a un file PSD seguendo i passaggi indicati di seguito:
- Innanzitutto, carica il file PSD come PsdImage utilizzando la classe Image.
- Quindi, crea un’istanza della classe Graphics.
- Quindi, definisci un oggetto classe Font per disegnare la larghezza della filigrana.
- Nel frattempo, crea un’istanza della classe SolidBrush con color.
- Quindi, specifica la matrice di trasformazione per ruotare la filigrana.
- Successivamente, specifica l’allineamento delle stringhe.
- Successivamente, chiama il metodo DrawString().
- Infine, salva il file di output usando il metodo Save().
L’esempio di codice seguente mostra come aggiungere una filigrana di testo diagonale a un file PSD in C#.
// Questo esempio di codice mostra come aggiungere una filigrana di testo diagonale a un file PSD
// Carica un file PSD come immagine e lancialo in PsdImage
PsdImage psdImage = (PsdImage)Image.Load(@"C:\Files\SimplePSD.psd");
// Crea oggetti grafici per eseguire operazioni di disegno
Graphics graphics = new Graphics(psdImage);
// Crea un carattere con cui disegnare la filigrana
Font font = new Font("Arial", 25.0f);
// Crea un pennello solido con alfa colore impostato vicino a 0 per utilizzare l'effetto filigrana
SolidBrush brush = new SolidBrush(Color.FromArgb(80, 128, 128, 128));
// Specificare la matrice di trasformazione per ruotare la filigrana
graphics.Transform = new Matrix();
graphics.Transform.RotateAt(45, new PointF(psdImage.Width / 2, psdImage.Height / 2));
// Specificare l'allineamento della stringa per mettere la filigrana al centro dell'immagine
StringFormat sf = new StringFormat();
sf.Alignment = StringAlignment.Center;
// Disegna la filigrana usando il font, pennello parzialmente trasparente al centro dell'immagine
graphics.DrawString("Sample Watermark Text", font, brush, new RectangleF(0, psdImage.Height / 2, psdImage.Width, psdImage.Height / 2), sf);
// Esporta l'immagine in formato file PNG
psdImage.Save(@"C:\Files\AddDiagnolWatermark_output.png", new PngOptions());
Aggiungi filigrana immagine a PSD usando C#
Possiamo anche aggiungere un’immagine come filigrana a un file PSD seguendo i passaggi indicati di seguito:
- Innanzitutto, carica il file PSD come PsdImage utilizzando la classe Image.
- Quindi, crea un’istanza della classe Layer.
- Quindi, imposta l’altezza, la larghezza e l’opacità del livello.
- Quindi, chiama il metodo AddLayer() per aggiungere il livello a PSD.
- Successivamente, carica un’immagine filigrana in un livello.
- Quindi, aggiungi una filigrana dell’immagine al livello.
- Successivamente, chiama il metodo DrawImage(). Prende la posizione e il livello dell’immagine della filigrana come argomenti.
- Infine, salva il file di output usando il metodo Save().
L’esempio di codice seguente mostra come aggiungere una filigrana di immagine a un file PSD in C#.
// Questo esempio di codice mostra come aggiungere una filigrana immagine a un file PSD
// Carica un file PSD nell'oggetto PsdImage
PsdImage psdImage = (PsdImage)Image.Load(@"C:\Files\SimplePSD.psd");
// Aggiungi un nuovo livello di filigrana
var baseLayer = new Layer();
baseLayer.Top = 200;
baseLayer.Bottom = 600;
baseLayer.Right = 600;
baseLayer.Opacity = 50;
// Aggiungi un livello al file PSD
psdImage.AddLayer(baseLayer);
// Carica un'immagine filigrana in un livello
FileStream ImageWatermarkFile = new FileStream(@"C:\Files\aspose_logo.png", FileMode.Open);
Layer ImageWatermarkLayer = new Layer(ImageWatermarkFile);
// Aggiungi la filigrana dell'immagine al livello di base
baseLayer.DrawImage(new Point(0, 200), ImageWatermarkLayer);
// Salva il file PSD finale con filigrana
psdImage.Save(@"C:\Files\ImageWatermarkedPSD.png", new PngOptions());
Ottieni una licenza temporanea gratuita
Puoi ottenere una licenza temporanea gratuita per provare Aspose.PSD per .NET senza limitazioni di valutazione.
Conclusione
In questo articolo abbiamo imparato a:
- aggiungi un nuovo livello a un’immagine PSD;
- aggiungi il testo o l’immagine della filigrana al PSD;
- salva PSD come immagine PNG o PSD usando C#.
Oltre ad aggiungere una filigrana a PSD in C#, puoi saperne di più su Aspose.PSD per .NET usando documentazione ed esplorare diverse funzionalità supportate dall’API. In caso di ambiguità, non esitare a contattarci sul nostro forum di supporto gratuito.