Loads the specified layer from the specified PSD file.
public RasterImage LoadPsdLayer(string fileName,int bitsPerPixel,CodecsLoadByteOrder order,int layer,CodecsPsdLayerInfo layerInfo)
Public Function LoadPsdLayer( _ByVal fileName As String, _ByVal bitsPerPixel As Integer, _ByVal order As CodecsLoadByteOrder, _ByVal layer As Integer, _ByVal layerInfo As CodecsPsdLayerInfo _) As RasterImage
public:RasterImage^ LoadPsdLayer(String^ fileName,int bitsPerPixel,CodecsLoadByteOrder order,int layer,CodecsPsdLayerInfo^ layerInfo)
fileName
A String containing the name of the image file to load.
bitsPerPixel
Resulting image pixel depth. Valid values are:
| Value | Meaning |
|---|---|
| 0 | Keep the original file's pixel depth (Do not convert). |
| 1 to 8 | The specified bits per pixel in the resulting image. |
| 12 | 12 bits per pixel in the resulting image. |
| 16 | 16 bits per pixel in the resulting image. |
| 24 | 24 bits per pixel in the resulting image. |
| 32 | 32 bits per pixel in the resulting image. |
| 48 | 48 bits per pixel in the resulting image. |
| 64 | 64 bits per pixel in the resulting image. |
order
The desired color order.
layer
Index of the layer to load. This index is zero-based. Pass 0 to load the first layer, 1 to load the second layer, etc.
layerInfo
a CodecsPsdLayerInfo object to be updated with information about the loaded layer. Pass a null reference for this parameter if layer information is not needed.
The RasterImage object that this method loads.
Use this method to load PSD files only.
This method works similarly to a normal Load or LoadAsync methods, except that it loads only a layer from a PSD file. It loads the layer specified in layer.
Before calling this method, you may need to get or set file information, such as the number of layers on the file. Refer to CodecsPsdImageInfo.
The number of layers in a file is indicated in CodecsPsdImageInfo.Layers. If this number is 0, the file does not contains any layers and this method should not be called.
This example will create and save a PSD with layers before re-loading the first layer back
using Leadtools;using Leadtools.Codecs;using Leadtools.ImageProcessing;using Leadtools.ImageProcessing.Color;using Leadtools.Svg;using LeadtoolsExamples.Common;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;elselayersImage.AddPage(layerImage);}// Load the image that is made up of all the layersRasterImage image = codecs.Load(srcFileName, 24, CodecsLoadByteOrder.BgrOrGray, 1, 1);// Save this image and all the layerscodecs.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);string blendModeKey = Encoding.ASCII.GetString(layerInfo.GetBlendModeKey());Console.WriteLine("Loaded layer at index {0}, size is {1} by {2}, Blend mode key:{3}", layer, layerImage.Width, layerImage.Height, blendModeKey);Console.WriteLine("TransparencyProtected is {0}, Visible is {1}, Obsolete is {2} and Psd5OrLater is {3}",layerInfo.TransparencyProtected, layerInfo.Visible, layerInfo.Obsolete, layerInfo.Psd5OrLater);layerImage.Dispose();}elseConsole.WriteLine("No layers found in this PSD file");// Clean upcodecs.Dispose();}static class LEAD_VARS{public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";}
Imports LeadtoolsImports Leadtools.CodecsImports Leadtools.ImageProcessingImports Leadtools.ImageProcessing.ColorImports Leadtools.DrawingImports Leadtools.SvgPublic Sub PsdLayersExample()Dim codecs As RasterCodecs = New RasterCodecs()Dim layerFileNames As String() ={Path.Combine(LEAD_VARS.ImagesDir, "Sample1.cmp"),Path.Combine(LEAD_VARS.ImagesDir, "Sample2.cmp"),Path.Combine(LEAD_VARS.ImagesDir, "Sample3.cmp")}Dim srcFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp")Dim destFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1.psd")' Load the layer images (as pages in 1 image)Dim layersImage As RasterImage = NothingFor Each layerFileName As String In layerFileNamesDim layerImage As RasterImage = codecs.Load(layerFileName)If layersImage Is Nothing ThenlayersImage = layerImageElselayersImage.AddPage(layerImage)End IfNext layerFileName' Load the image that is made up of all the layersDim image As RasterImage = codecs.Load(srcFileName, 24, CodecsLoadByteOrder.BgrOrGray, 1, 1)' Save this image and all the layerscodecs.SavePsdWithLayers(image, destFileName, 0, layersImage, Nothing)image.Dispose()layersImage.Dispose()Dim imageInfo As CodecsImageInfo = codecs.GetInformation(destFileName, False)If imageInfo.Psd.Layers > 0 ThenDim layer As Integer = 0Dim layerInfo As CodecsPsdLayerInfo = New CodecsPsdLayerInfo()Dim layerImage As RasterImage = codecs.LoadPsdLayer(destFileName, 0, CodecsLoadByteOrder.BgrOrGray, layer, layerInfo)Dim blendModeKey As String = Encoding.ASCII.GetString(layerInfo.GetBlendModeKey())Console.WriteLine("Loaded layer at index {0}, size is {1} by {2}, Blend mode key:{3}", layer, layerImage.Width, layerImage.Height, blendModeKey)Console.WriteLine("TransparencyProtected is {0}, Visible is {1}, Obsolete is {2} and Psd5OrLater is {3}",layerInfo.TransparencyProtected, layerInfo.Visible, layerInfo.Obsolete, layerInfo.Psd5OrLater)layerImage.Dispose()ElseConsole.WriteLine("No layers found in this PSD file")End If' Clean upcodecs.Dispose()End SubPublic NotInheritable Class LEAD_VARSPublic Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"End Class
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
