Leaper Vision Toolkit
绘制函数

注意:绘制函数和 LDisplay Control 仅在 Windows 平台实现,其他平台保留接口但无任何调用效果。


对于 LPV 图像类以及其他实现了 ILDrawable 接口的类型,我们通常都会提供绘制函数,用于绘制对象的内容到指定的设备,也就是输出的 HDC 句柄。

绘制函数相比于 LDisplay Control,是一种更为灵活和轻量的 API,帮助用户完全控制应用程序的绘制行为和流程。

以下为一些绘制函数的接口例子,包括图像、区域和检测结果等:

void ILImage::Draw (HDC hdc, double zoomX, double zoomY, double panX, double panY);
void ILRegion::Draw (HDC hdc, BOOL bHandles, double zoomX, double zoomY, double panX, double panY);
void ILMatchResults::Draw (HDC hdc, int index, LPVPatDrawFlags drawFlags, double zoomX, double zoomY, double panX, double panY)
void ILMatchResults::DrawAll (HDC hdc, LPVPatDrawFlags drawFlags, double zoomX, double zoomY, double panX, double panY)

每个绘制函数通常有以下通用参数,用于指定绘制的 HDC 句柄以及视窗。

参数
[in]hdc绘制设备,可为窗口、位图等的上下文句柄。
[in]zoomXx 方向的缩放系数,默认设置为 1,即真实尺寸 100%
[in]zoomYy 方向的缩放系数,默认设置为 0,即与 x 方向的缩放系数相同,也就是等比缩放。
[in]panXx 方向的平移。最终的 x 坐标按照该公式计算: \( (x + panX) \times zoomX \)
[in]panYy 方向的平移。最终的 y 坐标按照该公式计算: \( (y + panY) \times zoomY \)

每个绘制函数可能有其他额外的参数,用于控制绘制内容和行为。

示例代码

在 Bitmap 上绘制

在 OnPaint 方法中绘制