Saves the class object's associated bitmap to a file, along with the specified layers.
#include "ltwrappr.h"
virtual L_INT LFile::SaveBitmapWithLayers(nFormat, nBitsPerPixel, nQFactor, pLayers, pLayerInfo=NULL, nLayers=0, pSaveOptions=NULL)
Output file format. Currently, only PSD (FILE_PSD) files support layers.
Resulting file's pixel depth. For color images this can be 24 or 32. For grayscale images, this can be 8.
Reserved for future use. Pass 0.
Pointer to an LBitmapList object that contains the layers to save in the output file. The layers should have the same bits per pixel as the file. Every bitmap in the list will be saved as a layer. The first bitmap in the list will be interpreted as the first layer. The bitmaps in the bitmap list must have the same bits per pixel as specified in nBitsPerPixel.
Pointer to an optional array of LAYERINFO structures. If this is NULL, then each layer will start at (0, 0) and will have the same size as the image. If this is not NULL, then the layer information for each layer in hLayers will be stored here. The number of LAYERINFO structures is given in nLayers.
The number of LAYERINFO structures in the pLayerInfo array. This value should be the same as the number of bitmaps in the hLayers bitmap list. This parameter is used only if pLayerInfo is not NULL.
Pointer to optional extended save options. Pass NULL to use the default save options.
Value | Meaning |
---|---|
SUCCESS | The function was successful. |
< 1 | An error occurred. Refer to Return Codes. |
Currently, only the PSD format supports layers.
This function supports signed data images, but only DICOM and TIFF formats support signed data. This function will return an error code if you attempt to save a signed image to a format other than DICOM or TIFF.
If the bitmap has a region, the region stored in the bitmap will be saved, if the image is saved as one of the TIFF file formats.
Win32, x64.
L_INT LFile__SaveBitmapWithLayersExample(L_TCHAR * pszOutFile, L_TCHAR * pszFile, L_TCHAR * pszLayers[], L_INT nLayers)
{
L_INT nRet;
LBitmapBase Bitmap;
LBitmapList Layers;
LFile File;
nRet = Layers.Create();
if(nRet != SUCCESS)
return nRet;
for (L_INT i = 0; i < nLayers; i++)
{
nRet = Bitmap.Load(pszLayers[i]);
if(nRet != SUCCESS)
return nRet;
nRet = Layers.InsertItem(&Bitmap);
if(nRet != SUCCESS)
return nRet;
}
nRet = Bitmap.Load(pszFile);
if(nRet != SUCCESS)
return nRet;
File.SetFileName(pszOutFile);
File.SetBitmap(&Bitmap);
nRet = File.SaveBitmapWithLayers(FILE_PSD, 0, 0, &Layers);
if(nRet != SUCCESS)
return nRet;
return SUCCESS;
}
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