LAYERINFO

Summary

The LAYERINFO structure describes the layer position within a file.

Syntax

typedef struct _LAYERINFO 
{ 
   L_UINT uStructSize; 
   L_INT nLayerLeft; 
   L_INT nLayerTop; 
   L_UCHAR uOpacity; 
   L_UCHAR uClipping; 
   L_UCHAR szBlendModeKey[4]; 
   pBITMAPHANDLE pMaskBitmap; 
   L_TCHAR szName[MAX_PATH]; 
   L_UINT uLayerFlags; 
} LAYERINFO, * pLAYERINFO; 

Members

uStructSize

Size of this structure. Use sizeof (LAYERINFO).

nLayerLeft

Value that represents the left layer position, in pixels.

nLayerTop

Value that represents the top layer position, in pixels.

uOpacity

Opacity value of the layer. Possible values are between 0 and 255, where a value of 0 is completely transparent and a value of 255 is completely opaque. For more information, refer to the FILE FORMATS SPECIFICATION from Adobe.

uClipping

Clipping value for the layer. A value of 0 represents base. A value of 1 represents non-base. For more information, refer to the FILE FORMATS SPECIFICATION from Adobe.

szBlendModeKey

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 FILE FORMATS SPECIFICATION from Adobe.

pMaskBitmap

Pointer to a bitmap handle that references the bitmap of the transparency mask channel of the saved layer. This is an 8-bit grayscale bitmap. The value of each pixel indicates the amount of transparency the data of the original bitmap has at this point. For example, if the value is 0xFF at a certain point, the pixel value of the layer bitmap at that point is not transparent at all. If the value was 0x00, the pixel value of the layer bitmap at that point is fully transparent. If the value is between these two, it indicates the degree of transparency the pixel value of the layer bitmap has at that point.

When loading, this variable must be a pointer to a BITMAPHANDLE, which is not allocated. The load function will allocate this bitmap and it is up to the user to free this bitmap.

If the mask bitmap does not need to be loaded, pass NULL. Passing NULL saves the transparency mask as a full white bitmap, which represents full visibility of the layer.

When saving, if this is a valid bitmap, then it should be of the same width and height as the corresponding layer bitmap. It should also be an 8-bit grayscale bitmap.

For more information, refer to FILE FORMATS SPECIFICATION from Adobe.

szName

Null-terminated character string that contains the layer name.

uLayerFlags

Flags that provide information about the layer. This member is filled when the layer is loaded. Possible values are:

Value Meaning
LAYERINFO_TRANSPARENCYPROTECTED [0x01] The layer is transparent
LAYERINFO_VISIBLE [0x02] The layer is visible
LAYERINFO_OBSOLETE [0x04] The layer is obsolete
LAYERINFO_PSD5ORLATER [0x08] The layer is PSD version 5 or later.

Comments

pLAYERINFO is a pointer to a LAYERINFO structure. Where the function parameter type is pLAYERINFO, declare a LAYERINFO variable, update the structure's fields, and pass the variable's address in the parameter. Declaring a pLAYERINFO variable is necessary only if the program requires a pointer.

Some functions which take this structure as a parameter require that the structure be initialized prior to the function call. You must set the uStructSize member to the total size, in bytes, of the structure. Use the sizeof() operator to calculate this value. Functions that do not require the structure be initialized will take the total size of the structure, in bytes, as an additional function parameter.

Usually layers start at the top-left position of the image, so nLayerLeft and nLayerTop are 0 most of the time.

Usage

Help Version 23.0.2024.2.29
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Raster Imaging C++ Class Library Help
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.