PSD (Document Photoshop) est un format de fichier image natif utilisé par l’application Photoshop populaire d’Adobe. Il est couramment utilisé pour créer des logos, des brochures et d’autres images où le fichier PSD contient plusieurs couches. Dans certains cas, nous devrons peut-être manipuler les fichiers PSD par programmation. Dans cet article, nous allons apprendre à ajouter une nouvelle couche dans un PSD en utilisant C#.
Les sujets suivants seront traités dans cet article :
- API C # pour ajouter une nouvelle couche dans PSD
- Ajouter un nouveau calque au PSD
- Ajouter un nouveau calque de texte à PSD
- Créer un calque à partir d’une image dans PSD
API C# pour ajouter une nouvelle couche dans PSD
Pour créer un nouveau calque dans un fichier PSD, nous utiliserons l’API Aspose.PSD pour .NET. Il prend en charge la création, l’édition ou la manipulation de PSD et de plusieurs autres formats de fichiers pris en charge.
La classe PsdImage de l’API permet de charger, d’éditer et d’enregistrer des fichiers PSD. La méthode AddRegularLayer() de cette classe ajoute une nouvelle couche régulière. Alors que la méthode AddTextLayer(string, Rectangle) ajoute un nouveau calque de texte au PSD. Cette classe fournit également la méthode Save(string) qui enregistre le PSD à l’emplacement de fichier spécifié.
Veuillez soit télécharger la DLL de l’API ou l’installer à l’aide de NuGet.
PM> Install-Package Aspose.PSD
Ajouter un nouveau calque au PSD à l’aide de C#
Nous pouvons ajouter un nouveau calque à un fichier PSD en suivant les étapes ci-dessous :
- Tout d’abord, chargez le fichier PSD en tant que PsdImage en utilisant la classe Image.
- Ensuite, préparez un objet à ajouter tel que Rectangle.
- Ensuite, appelez la méthode AddRegularLayer().
- Définissez éventuellement la position du calque, par exemple Haut, Gauche, Droite et Bas.
- Ensuite, affectez l’objet au calque à l’aide de la méthode SaveArgb32Pixels().
- Enfin, enregistrez le fichier de sortie à l’aide de la méthode Save().
L’exemple de code suivant montre comment ajouter une nouvelle couche à un fichier PSD en C#.
// Cet exemple de code montre comment créer de nouveaux calques dans un fichier image PSD.
string sourceFileName = @"C:\Files\PSD\OneLayer.psd";
string exportPath = @"C:\Files\PSD\OneLayerEdited.psd";
// Charger un PSD existant
var im = (PsdImage)Image.Load(sourceFileName);
// Préparation de deux tableaux int
var data1 = new int[2500];
var data2 = new int[2500];
// Définir des rectangles
var rect1 = new Rectangle(0, 0, 50, 50);
var rect2 = new Rectangle(0, 0, 100, 25);
for (int i = 0; i < 2500; i++)
{
data1[i] = -10000000;
data2[i] = -10000000;
}
// Ajouter la couche 1
var layer1 = im.AddRegularLayer();
layer1.Left = 25;
layer1.Top = 25;
layer1.Right = 75;
layer1.Bottom = 75;
layer1.SaveArgb32Pixels(rect1, data1);
// Ajouter la couche 2
var layer2 = im.AddRegularLayer();
layer2.Left = 25;
layer2.Top = 150;
layer2.Right = 125;
layer2.Bottom = 175;
layer2.SaveArgb32Pixels(rect2, data2);
// Enregistrer PSD
im.Save(exportPath, new PsdOptions());
Ajouter un nouveau calque de texte au PSD à l’aide de C#
Nous pouvons ajouter un nouveau calque de texte à un fichier PSD en suivant les étapes ci-dessous :
- Tout d’abord, chargez le fichier PSD en tant que PsdImage en utilisant la classe Image.
- Ensuite, définissez un Rectangle.
- Ensuite, appelez la méthode AddTexLayer(). Il prend une entrée de texte et un objet rectangle comme arguments.
- Après cela, définissez la position du calque, telle que Haut, Gauche, Droite et Bas.
- Enfin, enregistrez le fichier de sortie à l’aide de la méthode Save().
L’exemple de code suivant montre comment ajouter un nouveau calque de texte à un fichier PSD en C#.
// Cet exemple de code montre comment créer de nouveaux calques dans un fichier image PSD.
string sourceFileName = @"C:\Files\PSD\OneLayer.psd";
string exportPath = @"C:\Files\PSD\TextLayer.psd";
// Charger un PSD existant
var im = (PsdImage)Image.Load(sourceFileName);
// Ajouter un calque de texte
var layer1 = im.AddTextLayer("Hello", new Rectangle(0, 0, 120, 50));
layer1.Left = 10;
layer1.Top = 25;
// Enregistrer PSD
im.Save(exportPath, new PsdOptions());
Créer un nouveau calque à partir d’une image dans PSD à l’aide de C#
Nous pouvons également ajouter un nouveau calque à partir d’une image PNG ou JPG à un fichier PSD en suivant les étapes ci-dessous :
- Tout d’abord, chargez le fichier PSD en tant que PsdImage en utilisant la classe Image.
- Ensuite, ouvrez le fichier image PNG dans un flux.
- Ensuite, créez une instance de la classe Layer avec l’objet stream.
- Après cela, appelez la méthode AddLayer(). Il prend l’objet Layer comme argument.
- Enfin, enregistrez le fichier de sortie à l’aide de la méthode Save().
L’exemple de code suivant montre comment ajouter un nouveau calque d’une image PNG à un fichier PSD en C#.
// Cet exemple de code montre comment créer un nouveau calque à partir d'une image PNG dans un fichier image PSD.
string outputFilePath = @"C:\Files\PSD\PsdResult.psd";
// Créer une nouvelle image PSD
var image = new PsdImage(200, 200);
// Charger une image PNG
string filePath = @"C:\Files\PSD\aspose_logo.png";
var stream = new FileStream(filePath, FileMode.Open);
Layer layer = null;
try
{
// Ajouter une couche au PSD
layer = new Layer(stream);
image.AddLayer(layer);
}
catch (Exception e)
{
if (layer != null)
{
layer.Dispose();
}
throw e;
}
// Enregistrer PSD
image.Save(outputFilePath);
Obtenez une licence temporaire gratuite
Vous pouvez obtenir une licence temporaire gratuite pour essayer Aspose.PSD pour .NET sans limitations d’évaluation.
Conclusion
Dans cet article, nous avons appris à :
- créer une nouvelle image PSD ;
- créer un nouveau calque régulier et un calque de texte dans une image PSD ;
- insérez une image PNG ou JPG en tant que nouveau calque dans PSD à l’aide de C#.
En outre, vous pouvez en savoir plus sur Aspose.PSD pour .NET en utilisant la documentation et explorer les différentes fonctionnalités prises en charge par l’API. En cas d’ambiguïté, n’hésitez pas à nous contacter sur notre forum.