Combines two bitmaps, superimposing one bitmap on another bitmap that is used like a canvas.
#include "ltwrappr.h"
L_INT LBitmap::Canvas(phCanvasBitmap, uTransparency, uEmboss, nXOffset, nYOffset, uTilesOffset, uFlags)
L_INT LBitmap::Canvas(plCanvasBitmap, uTransparency, uEmboss, nXOffset, nYOffset, uTilesOffset, uFlags)
Pointer to the bitmap handle that references the canvas bitmap.
Pointer to LBitmapBase class object that references the canvas bitmap.
The transparency amount between the image and the canvas. Valid range is from 0 to 100. When set to 0, only the canvas image displays, and when set to 100, the canvas image is barely visible.
Apparent depth of the canvas image. Valid range is from 0 to 200. When uTransparency is at 100, and uEmboss is 0 only the image displays. Increasing uEmboss increases the apparent depth of the canvas image.
The X distance between the canvas origin point and the image origin point (in pixels). Valid range is from -Canvas bitmap width to +Canvas bitmap width.
The Y distance between the canvas origin point and the image origin point (in pixels). Valid range is from -Canvas bitmap height to +Canvas bitmap height.
The amount to shift every row of canvas image from the origin. This parameter is not used when uFlags is set to CANVAS_FIT.
Flags that identify how to distribute the canvas image with respect to the image and how to handle resizing.
Value | Meaning |
---|---|
CANVAS_FIT | [0x0000] Fit the canvas image so it has the same dimensions as the bitmap that is being applied to the canvas, without tiling. |
CANVAS_SHIFT | [0x0010] Shift the canvas image by the amount specified in uTilesOffset. |
Value | Meaning |
---|---|
SIZE_NORMAL | [0x0000] Resize normally. |
SIZE_RESAMPLE | [0x0002] Use linear interpolation and averaging to produce a higher quality image. |
SIZE_BICUBIC | [0x0004] Use bicubic interpolation and averaging to produce a higher quality image. This is slower than SIZE_RESAMPLE. |
Value | Meaning |
---|---|
SUCCESS | The function was successful. |
< 1 | An error occurred. Refer to Return Codes. |
The Canvas function combines two bitmaps, superimposing one bitmap on another bitmap that is used like a canvas.
Other functions that allow you to combine images include:
For more information on this and other functions that can be used to combine bitmaps, refer to Processing an Image.
This function supports 12- and 16-bit grayscale and 48- and 64-bit color images. Support for 12- and 16-bit grayscale and 48- and 64-bit color images is available only in the Document/Medical toolkits.
To update a status bar or detect a user interrupt during execution of this function, refer to LBase::EnableStatusCallback.
This function does not support signed data images. It returns the error code ERROR_SIGNED_DATA_NOT_SUPPORTED if a signed data image is passed to this function.
This function does not support 32-bit grayscale images. It returns the error code ERROR_GRAY32_UNSUPPORTED if a 32-bit grayscale image is passed to this function.
Win32, x64.
This example is for LBitmap::Canvas(plCanvasBitmap, uTransparency, uEmboss, nXOffset, nYOffset, uTilesOffset, uFlags)
L_INT LBitmap__CanvasExample()
{
L_INT nRet;
LBitmap LeadBitmap, CanvasBitmap;
nRet =LeadBitmap.Load(MAKE_IMAGE_PATH(TEXT("cannon.jpg")), 0,ORDER_BGR);
if(nRet !=SUCCESS)
return nRet;
nRet =CanvasBitmap.Load(MAKE_IMAGE_PATH(TEXT("ULAY1.BMP")), 0,ORDER_BGR);
if(nRet !=SUCCESS)
return nRet;
nRet =LeadBitmap.Canvas(&CanvasBitmap, 100, 100, 0, 0, 10, CANVAS_SHIFT);
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