public string Name { get; set; }
@property (nonatomic, copy, nullable) NSString *name;
Name # get and set (CodecsPsdLayerInfo)
A String which contains the name for the layer. The default value is null.
The layer name will be stored in the file. The maximum size for this string is 256 characters.
For more information, refer to the FILE FORMATS SPECIFICATION from Adobe.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;
using Leadtools.ImageProcessing.Color;
using Leadtools.Svg;
public void PsdLayersExample()
{
RasterCodecs codecs = new RasterCodecs();
string[] layerFileNames =
{
Path.Combine(LEAD_VARS.ImagesDir, "Sample1.cmp"),
Path.Combine(LEAD_VARS.ImagesDir, "Sample2.cmp"),
Path.Combine(LEAD_VARS.ImagesDir, "Sample3.cmp"),
};
string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp");
string destFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.psd");
// Load the layer images (as pages in 1 image)
RasterImage layersImage = null;
foreach (string layerFileName in layerFileNames)
{
RasterImage layerImage = codecs.Load(layerFileName);
if (layersImage == null)
layersImage = layerImage;
else
layersImage.AddPage(layerImage);
}
// Load the image that is made up of all the layers
RasterImage image = codecs.Load(srcFileName, 24, CodecsLoadByteOrder.BgrOrGray, 1, 1);
// Save this image and all the layers
codecs.SavePsdWithLayers(image, destFileName, 0, layersImage, null);
image.Dispose();
layersImage.Dispose();
CodecsImageInfo imageInfo = codecs.GetInformation(destFileName, false);
if (imageInfo.Psd.Layers > 0)
{
int layer = 0;
CodecsPsdLayerInfo layerInfo = new CodecsPsdLayerInfo();
RasterImage layerImage = codecs.LoadPsdLayer(destFileName, 0, CodecsLoadByteOrder.BgrOrGray, layer, layerInfo);
layerInfo.Clipping = 0;
layerInfo.Left = 0;
layerInfo.LoadMaskImage = true;
layerInfo.MaskImage = null;
layerInfo.Name = null;
layerInfo.Opacity = 0;
layerInfo.Top = 0;
string blendModeKey = Encoding.ASCII.GetString(layerInfo.GetBlendModeKey());
Debug.WriteLine("Loaded layer at index {0}, size is {1} by {2}, Blend mode key:{3}", layer, layerImage.Width, layerImage.Height, blendModeKey);
Debug.WriteLine("TransparencyProtected is {0}, Visible is {1}, Obsolete is {2} and Psd5OrLater is {3}",
layerInfo.TransparencyProtected, layerInfo.Visible, layerInfo.Obsolete, layerInfo.Psd5OrLater);
char[] byteArray = "dark".ToCharArray(); //Define Blend Mode Key
layerInfo.SetBlendModeKey(Encoding.ASCII.GetBytes(byteArray));
Debug.WriteLine("Loaded layer at index {0} with updated Blend mode key:{1}", layer, Encoding.ASCII.GetString(layerInfo.GetBlendModeKey()));
layerImage.Dispose();
}
else
Debug.WriteLine("No layers found in this PSD file");
// Clean up
codecs.Dispose();
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";
}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document