public void SetBlendModeKey(
byte[] blendModeKey
)
public:
void SetBlendModeKey(
array<byte>^ blendModeKey
)
def SetBlendModeKey(self,blendModeKey):
blendModeKey
A four-byte character array that represents the blend mode key for the layer. Possible values are:
Value | Meaning |
---|---|
norm |
Normal |
dark |
Darken |
lite |
Lighten |
hue |
Hue |
sat |
Saturation |
colr |
Color |
lum |
Luminosity |
mul |
Multiply |
scrn |
Screen |
diss |
Dissolve |
over |
Overlay |
hLit |
Hard light |
sLit |
Soft light |
diff |
Difference |
smud |
Exclusion |
div |
Dodge |
idiv |
Color burn |
For more information, refer to the Layer and Mask Information Section 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:\LEADTOOLS22\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