人机协同控制模块
视觉算法+运动控制引擎
开发周期缩短40%+

十一.图形用户接口模块

图形用户接口是RVB系统的一重要的模块,实现上层应用程序需要的画线,画矩形,画圆,图像显示等操作。为上层应用程序提供基本的图形接口。

图形用户接口模块有自己的点(GPoint),矩形(GRect), 颜色(GRgb)等结构。

图形用户接口使用说明(xgui.dll)

声明文件: xgui.h

库文件: xgui.lib, xgui.dll

11.1常量

11.1.1模板显示风格

GDM_SKETCH - 只显示模板的边界

GDM_SOLID - 显示全部

GDM_GRID - 显示方格点

11.1.2HGDC 颜色

HGDC_WHITE - 白色

HGDC_BLACK - 黑色

HGDC_GREY - 灰色

HGDC_YELLOW - 黄色

HGDC_BLUE - 蓝色

HGDC_GREEN - 绿色

HGDC_CYAN - 青色

HGDC_RED - 红色

HGDC_MAGENTA - 红紫色

HGDC_BROWN - 棕色

HGDC_DARKGRAY - 暗灰色

HGDC_LIGHTGRAY - 亮灰色

HGDC_LIGHTBLUE - 亮蓝色

HGDC_LIGHTGREEN - 亮绿色

HGDC_LIGHTCYAN - 亮青色

HGDC_LIGHTRED - 亮红色

HGDC_LIGHTMAGENTA - 亮红紫色

11.1.3线型

GLS_SOLID - 实现

GLS_DASH - 小划线

GLS_DOT - 点线

GLS_DASHDOT - 点划线

GLS_DASHDOTDOT - 双点划线

11.1.4标记形状

MIS_POINT - 点

MIS_CROSS - 十字

MIS_EXPRESS - 叉字

MIS_CROSS_EX - 米字

MIS_EXPRESS_EX - 叉字(增)

11.1.6分割线

MIS_HORI - 水平

MIS_VERT - 垂直

MIS_SLANT - 斜线

MIS_ANTI_SLANT – 反斜线

11.1.7外部形状

MOS_FOCUS - 焦点

MOS_BOX - 方形

MOS_DISK - 圆形

MOS_EDGE - 线

MOS_DIV - 分割线(注:如果为分割线,将忽略外部形状和内部形状)

11.2函数说明

11.2.1创建图形界面环境

rvgCreateContext

声明: HGDC rvgCreateContext(HWND hWnd, int width=-1, int height=-1)

描述:创建图形界面环境

参数:1、HWND hWnd – 窗口句柄

2、int width - 画板宽度

3、int height – 画板高度

返回值:GDC句柄

11.2.2销毁图形上下文

rvgDestroyContext

声明:void rvgDestroyContext(HGDC dc);

描述:销毁图形上下文

参数:HGDC dc – 图形上下文句柄

返回值:无

rvgSetPixel

声明:void rvgSetPixel(HGDC dc, int x, int y);

void rvgSetPixel(HGDC dc, int x, int y, GRgb color);

void rvgSetPixel(HGDC dc, GPoint pos, GRgb color);

描述:在指定的位置,将象素设置为指定的颜色

参数:1、HGDC dc – 图象上下文句柄

2、int x – x坐标

3、int y – y坐标

4、GRgb color – 颜色

5、GPoint pos – 位置

返回值:无

rvgGetPixel

声明:GRgb rvgGetPixel(HGDC dc, int x, int y);

GRgb rvgGetPixel(HGDC dc, GPoint pos);

描述:获取指定的位置的象素颜色

参数:1、HGDC dc – 图象上下文句柄

2、int x – x坐标

3、int y – y坐标

4、GPoint pos – 位置

返回值:颜色

rvgSetDrawStyle

声明:void rvgSetDrawStyle(HGDC dc, int flag)

描述:设置绘制风格。

参数:1、HGDC dc – 图象上下文句柄

2、int flag – 选项

返回值:无

rvgGetDrawStyle

声明:int rvgGetDrawStyle(HGDC dc)

描述:获取绘制风格

参数:HGDC dc – 图象上下文句柄

返回值:风格值

rvgSetTransRatio

声明:void rvgSetTransRatio(HGDC dc, int ratio);

描述:设置透明率。

参数:1、HGDC dc – 图象上下文句柄

2、int ratio – 透明率

返回值:无

rvgGetTransRatio

声明:int rvgGetTransRatio(HGDC dc );

描述:获取透明率。

参数:HGDC dc – 图象上下文句柄

返回值:透明率

rvgClear

声明:void rvgClear(HGDC dc, BOOL bRedraw=FALSE);

描述:清除画板。

参数:1、HGDC dc – 图象上下文句柄

2、BOOL bRedraw – 是否立即刷新

返回值:无

rvgSetRvbLogoVisible

声明:void rvgSetRvbLogoVisible(HGDC dc, BOOL flag)

描述:设置RVB图标是否可见。

参数:1、HGDC dc – 图象上下文句柄

2、BOOL flag– 是否可见

返回值:无

rvgIsRvbLogoVisible

声明:BOOL rvgIsRvbLogoVisible(HGDC dc );

描述:查看RVB图标是否可见。

参数:HGDC dc – 图象上下文句柄

返回值:BOOL值

rvgRealize

声明:BOOL rvgRealize(HGDC dc, BOOL bRefresh=FALSE);

描述:将当前画板显示在屏幕上。

参数:1、HGDC dc – 图象上下文句柄

2、BOOL bRedraw – 是否需要刷新画板

返回值:BOOL值,表示是否成功

rvgIsContextNormal

声明:BOOL rvgIsContextNormal(HGDC dc);

描述:查看当前上下文是否正常。

参数:HGDC dc – 图象上下文句柄

返回值:BOOL值,表示当前上下文是否正常。如有无显卡设备丢失

rvgTryRestoreContext

声明:BOOL rvgTryRestoreContext(HGDC dc);

描述:尝试恢复已经异常的上下文。

参数:HGDC dc – 图象上下文句柄

返回值:BOOL值,表示是否成功。

rvgGetCanvas

声明:RvCanvas rvgGetCanvas(HGDC dc);

描述:获取画板。

参数:HGDC dc – 图象上下文句柄

返回值:画板句柄。

rvgSetCanvasSize

声明:void rvgSetCanvasSize(HGDC dc, RvSize size);

void rvgSetCanvasSize(HGDC dc, int width, int height);

描述:设置画板尺寸。

参数:1、HGDC dc – 图象上下文句柄

2、int width – 宽度

3、int height – 高度

4、RvSize size – 尺寸

返回值:无。

rvgSetBackColor

声明:void rvgSetBackColor(HGDC dc, GRgb color);

描述:设置背景颜色。

参数:1、HGDC dc – 图象上下文句柄

2、GRgb color – 颜色

返回值:无。

rvgGetBackColor

声明:GRgb rvgGetBackColor(HGDC dc );

描述:获取背景颜色。

参数:HGDC dc – 图象上下文句柄

返回值:背景颜色。

rvgSetForeColor

声明:void rvgSetForeColor(HGDC dc, GRgb color);

描述:设置前景颜色。

参数:1、HGDC dc – 图象上下文句柄

2、GRgb color – 颜色

返回值:无。

rvgGetForeColor

声明:GRgb rvgGetForeColor(HGDC dc );

描述:获取前景颜色。

参数:HGDC dc – 图象上下文句柄

返回值:前景颜色。

rvgSetBackground

声明:void rvgSetBackground(HGDC dc, GRgb color);

描述:设置非画板的窗口颜色。

参数:1、HGDC dc – 图象上下文句柄

2、GRgb color – 颜色

返回值:窗口颜色。

rvgGetBackground

声明:GRgb rvgGetBackground(HGDC dc );

描述:获取非画板的窗口颜色。

参数:HGDC dc – 图象上下文句柄

返回值:颜色。

rvgSetViewPos

声明:void rvgSetViewPos(HGDC dc, int x, int y, BOOL bRedraw=TRUE);

描述:设置画板的显示位置。

参数:1、HGDC dc – 图象上下文句柄

2、int x – x位置

3、int y – y位置

4、BOOL bRedraw – 是否立即刷新屏幕

返回值:无。

rvgGetViewPos

声明:GPoint rvgGetViewPos(HGDC dc );

描述:获取画板的显示位置。

参数:HGDC dc – 图象上下文句柄

返回值:当前显示位置。

rvgGetViewDelta

声明:void rvgGetViewDelta(HGDC dc, int* dx, int* dy);

GSize rvgGetViewDelta(HGDC dc);

描述:获取画板的显示行程(当画板尺寸大于窗口的时候)。

参数: 1、HGDC dc – 图象上下文句柄

2、int* dx – 水平方向的行程

3、int* dy – 垂直方向的行程

返回值:画板的显示行程或无

rvgSetViewMode

声明:void rvgSetViewMode(HGDC dc, int mode);

描述:设置画板的显示模式。

参数:1、HGDC dc – 图象上下文句柄

2、int mode –显示模式

返回值: 无

rvgGetViewMode

声明:int rvgGetViewMode(HGDC dc);

描述:获取画板的显示模式。

参数:HGDC dc – 图象上下文句柄

返回值:显示模式

rvgSetViewRatio

声明:void rvgSetViewRatio(HGDC dc, float ratio);

描述:设置画板的缩放比率。

参数:1、HGDC dc – 图象上下文句柄

2、float ratio – 缩放比率

返回值: 无

rvgGetViewRatio

声明:float rvgGetViewRatio(HGDC dc );

描述:获取画板的缩放比率。

参数:HGDC dc – 图象上下文句柄

返回值:比率

rvgMoveTo

声明:void rvgMoveTo(HGDC dc, int x, int y);

void rvgMoveTo(HGDC dc, GPoint pos);

描述:设置当前的游标位置。

参数:1、HGDC dc – 图象上下文句柄

2、int x – x坐标

3、int y – y坐标

4、GPoint pos – 位置

返回值: 无

rvgAlongTo

声明:void rvgAlongTo(HGDC dc, int x, int y);

void rvgAlongTo(HGDC dc, GPoint pos);

描述:从当前开始到指定的位置画直线。

参数:1、HGDC dc – 图象上下文句柄

2、int x – x坐标

3、int y – y坐标

4、GPoint pos – 位置

返回值: 无

rvgAlongV

声明:void rvgAlongV(HGDC dc, int y1);

描述:从当前开始到指定的y位置画垂直线。

参数:1、HGDC dc – 图象上下文句柄

2、int y1 – y1坐标

返回值: 无

rvgAlongH

声明:void rvgAlongH(HGDC dc, int x1);

描述:从当前开始到指定的x1画水平线。

参数:1、HGDC dc – 图象上下文句柄

2、int x – x坐标

返回值: 无

rvgDrawPoint

声明:void rvgDrawPoint(HGDC dc, int x , int y );

void rvgDrawPoint(HGDC dc, GPoint pos);

描述:在指定的位置画点。

参数:1、HGDC dc – 图象上下文句柄

2、int x – x坐标

3、int y – y坐标

4、GPoint pos –位置

返回值: 无

rvgDrawLine

声明:rvgDrawLine(HGDC dc, int x0, int y0, int x1, int y1, RV_HANDLE hStroke );

描述:在两个点之间画条直线。

参数: 1、HGDC dc – 图象上下文句柄

2、int x0 - 第一点x坐标

3、int y0 – 第一点y坐标

4、int x1 – 第二点x坐标

5、int y1 – 第二点y坐标

6、RV_HANDLE hStroke – 笔画对象

返回值: 返回新创建的或原来的笔画对象

rvgDrawLineEx

声明:RV_HANDLE XGUI_API rvgDrawLineEx(HGDC dc, GPoint p0, GPoint p1, RV_HANDLE hStroke )

描述:在两个点之间画条直线。

参数:1、HGDC dc – 图象上下文句柄

2、GPoint p0 - 第一点坐标

3、GPoint p1 – 第二点坐标

4、RV_HANDLE hStroke – 笔画对象

返回值: 返回新创建的或原来的笔画对象

rvgDrawRect

声明: void rvgDrawRect(HGDC dc, GRect rect, int x, int y, float rotate,BOOL bFill=FALSE);

void rvgDrawRect(HGDC dc, GRect rect, GPoint center, float rotate,BOOL bFill=FALSE);

void rvgDrawRect(HGDC dc, GRect rect, float rotate,BOOL bFill=FALSE);

void rvgDrawRect(HGDC dc, int x0, int y0, int x1, int y1, BOOL bFill=FALSE);

void rvgDrawRect(HGDC dc, GRect rect, BOOL bFill=FALSE);

描述:根据不同的参数,画矩形。

参数:1、HGDC dc – 图象上下文句柄

2、GRect rect – 矩形结构

3、int x – 旋转中心x坐标

4、nt y - 旋转中心y坐标

5、float rotate - 旋转中角度

6、BOOL bFill – 填充

7、int x0 – 左上角x坐标

8、int y0 – 左上角y坐标

9、int x1 –右下角x坐标

10、int y1 –右下角y坐标

返回值: 无

rvgDrawCircle

声明:void rvgDrawCircle(HGDC dc, int x0, int y0, int radius, BOOL bFill);

void rvgDrawCircle(HGDC dc, GPoint center, int radius, BOOL bFill);

描述:根据中心点位置和半径,画圆。

参数:1、HGDC dc – 图象上下文句柄

2、int x0 – 圆中心点x坐标

3、int y0 –圆中心点y坐标

4、GPoint center – 圆中心位置

5、int radius – 半径

6、BOOL bFill – 填充

返回值: 无

rvgDrawEllipse

声明:void rvgDrawEllipse(HGDC dc, int x0, int y0, int rx, int ry, int angle=0, BOOL bFill=FALSE);

void rvgDrawEllipse(HGDC dc, GPoint center, int rx, int ry, int angle=0, BOOL bFill=FALSE);

描述:根据不同的参数,画椭圆,该椭圆可以旋转。

参数:1、HGDC dc – 图象上下文句柄

2、int x0 - 椭圆中心x坐标

3、int y0 - 椭圆中心y坐标

4、int rx – x轴长度

5、int ry – y轴长度

6、int angle – 旋转角度

7、BOOL bFill – 填充

返回值: 无

rvgDrawArc

声明:void rvgDrawArc(HGDC dc, GPoint center, int radius, int startAngle, int endAngle);

void rvgDrawArc(HGDC dc, int x0, int y0, int radius, int startAngle, int endAngle);

描述:根据不同的参数,画圆弧。

参数: 1、HGDC dc – 图象上下文句柄

2、int x0 – 圆弧中心x坐标

3、int y0 - 圆弧中心y坐标

4、GPoint center - 圆弧中心

5、int radius – 半径

6、int startAngle – 起始角度

7、int endAngle – 终止角度

返回值: 无

rvgDrawPolygon

声明:void rvgDrawPolygon (HGDC dc, const GPoint* pVertexSet , int nVertexCount, BOOL bFill) ;

描述:根据输入的顶点位置,画多边形。

参数: 1、HGDC dc – 图象上下文句柄

2、const GPoint* pVertexSet – 顶点集合

3、int nVertexCount – 顶点数量

4、BOOL bFill – 是否填充

返回值: 无

rvgDrawMask

声明:void rvgDrawMask(HGDC dc, RvMask mask, int x , int y );

描述:根据绘制摸板对象。

参数: 1、HGDC dc – 图象上下文句柄

2、RvMask mask – 模板对象

3、int x – 左上角位置的x坐标

4、int y –左上角位置的x坐标

返回值: 无

rvgDrawContour

声明:void rvgDrawContour(HGDC dc, RvContour contour, int x , int y );

描述:绘制轮廓对象。

参数: 1、HGDC dc – 图象上下文句柄

2、RvContour contour – 轮廓对象

3、int x – 左上角位置的x坐标

4、int y –左上角位置的x坐标

返回值: 无

rvgCreateFont

声明: GFont* rvgCreateFont(HGDC dc, const char* strFontFace , int nHeight , int flags ) ;

描述:创建指定风格的字体对象。

参数: 1、HGDC dc – 图象上下文句柄

2、const char* strFontFace – 字体名称。如”宋体”, “Arial”等

3、int nHeight – 字体高度

4、int flags – 式样标记。下面几个参数之一

5、RV_FS_DEFAULT - 默认.

6、RV_FS_BOLD - 粗体

7、RV_FS_ITALIC - 斜体

8、RV_FS_UNDERLINE - 带下划线

9、RV_FS_STRIKEOUT - 带中间删除线

返回值: 字体对象

rvgDestroyFont

声明:void rvgDestroyFont(GFont* pFont);

描述:销毁字体对象

参数:GFont* pFont – 字体对象指针

返回值:无

rvgSetFontBackColor

声明:void rvgSetFontBackColor(GFont* pFont, GRgb color)

描述:设置字体对象背景颜色

参数:1、GFont* pFont – 字体对象指针

2、GRgb color – 颜色

返回值: 无

rvgSetFontForeColor

声明:void rvgSetFontForeColor(GFont* pFont, GRgb color)

描述:设置字体对象前景颜色

参数:1、GFont* pFont – 字体对象指针

2、GRgb color – 颜色

返回值: 无

rvgDrawText

声明:RV_HANDLE rvgDrawText(HGDC dc, const char* strText, int count , int x, int y, GRect* pRect , RV_HANDLE hStroke );

描述:绘制字符串文本。

参数: 1、HGDC dc – 图形上下文对象

2、const char* strText – 字符串

3、int count – 字符串的字数,如果为-1的话将所有字符串都输出。

4、 int x – 开始的绘制位置的x坐标

5、 int y –开始的绘制位置的y坐标

6、GRect* pRect – 字符串输出的区域(矩形对象指针)。

7、 RV_HANDLE hStroke – 原来的笔画句柄。如果该句柄为空,则创建一个新笔画对象。

返回值:涉及的笔画句柄,输入的句柄,或新建的句柄。

rvgDrawTextEx

声明:RV_HANDLE rvgDrawTextEx(HGDC dc, const char* strText, int nCount , int nFormat, GRect* pRect , RV_HANDLE hStroke );

描述:绘制字符串文本。

参数:1、HGDC dc – 图形上下文对象

2、const char* strText – 字符串

3、int count – 字符串的字数,如果为-1的话将所有字符串都输出。

4、int nFormat- 绘制格式。

5、RV_DT_DEFAULT - 默认

6、 RV_DT_TOP - 顶部对齐

7、 RV_DT_VCENTER - 垂直方向中间对齐

8、RV_DT_BOTTOM - 底部对齐

9、 RV_DT_LEFT - 左边对齐

10、RV_DT_HCENTER - 水平方向中间对齐

11、RV_DT_RIGHT - 右边对齐

12、RV_DT_MULTILINE - 按照换行符换行

13、 RV_DT_WORDBREAK - 按照单词换行

14、RV_DT_CHARBREAK - 按照字符换行

15、RV_DT_SINGLELINE - 单行

16、 RV_DT_NOBKGROUND - 透明

17、RV_DT_NOCLIP – 不用裁剪

18、 GRect* pRect – 字符串输出的区域(矩形对象指针)。

19、 RV_HANDLE hStroke – 原来的笔画句柄。如果该句柄为空,则创建一个新笔画对象。

返回值: 涉及的笔画句柄,输入的句柄,或新建的句柄。

rvgGetTextSize

声明: GSize rvgGetTextSize(HGDC dc, const char* strText, int count =-1 );

描述:获取字符串文本绘制以后占用的区域大小(以象素为单位)。

参数: 1、HGDC dc – 图形上下文对象

2、const char* strText – 字符串

3、int count – 字符串的字数,如果为-1的话将所有字符串都输出。

返回值:高度和宽度。

rvgTextOut

声明:void rvgTextOut(HGDC dc, const char* strText );

描述:绘制字符串对象。无笔画对象句柄返回。

参数:1、HGDC dc – 图形上下文对象

2、const char* strText – 字符串

返回值:无

rvgDrawImage

声明:RV_HANDLE rvgDrawImage(HGDC dc, RvImage image, int x , int y , int width , int height , RV_HANDLE hStroke );

描述:绘制字符串对象。无笔画对象句柄返回。

参数: 1、HGDC dc – 图形上下文对象

2、RvImage image – 图象对象

3、int x – 绘制区域的左上角位置的x坐标

4、int y –绘制区域的左上角位置的y坐标

5、int width –绘制区域的宽度

6、int height –绘制区域的高度

7、RV_HANDLE hStroke – 原来的笔画句柄

返回值:笔画对象句柄

rvgFill

声明:rvgFill(HGDC dc, GRgb color, GRect* pRect);

描述:使用指定的颜色在某个区域进行填充。

参数: 1、HGDC dc – 图形上下文对象

2、GRgb color – 颜色

3、GRect* pRect – 区域对象指针

返回值:无

rvgBitBlt

声明:void rvgBitBlt(HGDC dc, RvImage image, int x0 , int y0 , int w0 , int h0 , int x1 , int y1 , int w1 , int h1 , GColor ignore );

描述:绘制数字图象直接到画布。

参数: 1、HGDC dc – 图形上下文对象

2、RvImage image – 数字图象

3、int x0 – 画布的左上角位置的x坐标

4、int y0 –画布的左上角位置的y坐标

5、int w0 – 画布可以绘制区域的宽度

6、int h0 –画布可以绘制区域的高度

7、int x1 - 图象的左上角位置的x坐标

8、int y1 – 图象的左上角位置的y坐标

9、int w1 –图象被绘制区域的宽度

10、int h1 –图象被绘制区域的宽度

11、GColor ignore – 忽略的像素颜色.

返回值:无

rvgPaintImage

声明:void rvgPaintImage(HGDC dc, RvImage image, int align);

描述:绘制图象。

参数: 1、HGDC dc – 图形上下文对象

2、RvImage image –数字图象对象

3、int align – 对齐方式。如下:

4、RV_PI_DEFAULT – 默认

5、RV_PI_CENTER – 居中绘制

返回值:无

rvgPaintImageEx

声明:void rvgPaintImageEx(HGDC dc, const RvImage image, int left , int top , const RvMask mask);

描述:绘制图象。绘制与模板标记区域对应的图象像素。

参数:1、HGDC dc – 图形上下文对象

2、RvImage image – 数字图象对象

3、int left – 左上角位置x坐标。

4、int top – 左上角位置y坐标。

5、const RvMask mask – 模板。

返回值:无

rvgDrawDummy

声明: RV_HANDLE rvgDrawDummy(HGDC dc, RV_HANDLE hStroke)

描述:无效绘制,不进行任何绘制,仅产生一个笔画句柄。

参数: 1、HGDC dc – 图形上下文对象

2、RV_HANDLE hStroke – 原笔画对象

返回值:如果原笔画对象为空,返回创建的新笔画对象,否则,返回原笔画对象。

rvgSelectPen

声明://drawing objects

GPen* rvgSelectPen(HGDC dc, GPen *pPen);

描述:选择画笔对象。

参数: 1、HGDC dc – 图形上下文对象

2、GPen *pPen – 画笔对象指针。

返回值:当前正在使用的画笔对象指针

rvgSelectBrush

声明:GBrush* rvgSelectBrush(HGDC dc, GBrush *pBrush);

描述:选择画刷对象。

参数:1、HGDC dc – 图形上下文对象

2、GBrush *pBrush – 画刷对象指针。

返回值:当前正在使用的画刷对象指针

rvgSelectFont

声明:GFont* rvgSelectFont(HGDC dc, GFont *pFont);

描述:选择字体对象。

参数: 1、HGDC dc – 图形上下文对象

2、GFont *pFont – 字体对象指针。

返回值:当前正在使用的字体对象指针

rvgSelectCanvas

声明:HCANVAS rvgSelectCanvas(HGDC dc, HCANVAS canvas);

描述:选择画布对象。

参数: 1、HGDC dc – 图形上下文对象

2、HCANVAS canvas – 画布对象句柄。

返回值:当前正在使用的画布对象句柄

rvgSelectPostModel

声明:GPostModel* rvgSelectPostModel(HGDC dc, GPostModel* pPostModel);

描述:选择画框对象。

参数: 1、HGDC dc – 图形上下文对象

2、GPostModel* pPostModel –画框对象指针。

返回值:当前正在使用的画框对象指针

rvgConvertXToDisplay

声明: int rvgConvertXToDisplay(HGDC dc , int value );

描述:将画布的x坐标值转换成窗口的坐标值。

参数: 1、HGDC dc – 图形上下文对象

2、Int value –画布的x坐标值。

返回值: 窗口坐标值

rvgConvertYToDisplay

声明: int rvgConvertYToDisplay(HGDC dc , int value );

描述:将画布的y坐标值转换成窗口的坐标值。

参数: 1、HGDC dc – 图形上下文对象

2、Int value –画布的y坐标值。

返回值:窗口坐标值

rvgConvertPointToDisplay

声明:GPoint rvgConvertPointToDisplay(HGDC dc , int x , int y);

描述:将画布的点坐标值转换成窗口的坐标值。

参数: 1、HGDC dc – 图形上下文对象

2、Int x –画布的点x坐标值。

3、Int y –画布的点y坐标值。

返回值:窗口点坐标值

rvgConvertPointToDisplayEx

声明:GPoint rvgConvertPointToDisplayEx(HGDC dc , GPoint* pPoint);

描述:将画布的点坐标值转换成窗口的坐标值。

参数:1、HGDC dc – 图形上下文对象

2、GPoint* pPoint –画布的点对象的指针。

返回值: 窗口点坐标值

rvgConvertRectToDisplay

声明:GRect rvgConvertRectToDisplay(HGDC dc , int left, int top, int right, int bottom);

描述:将画布的矩形坐标值转换成窗口的坐标值。

参数: 1、HGDC dc – 图形上下文对象

2、int left – 左边

3、int top – 顶部

4、int right – 右边

5、int bottom – 底部

返回值:已经转换的矩形

rvgConvertRectToDisplayEx

声明:GRect rvgConvertRectToDisplayEx(HGDC dc , GRect* pRect);

描述:将画布的矩形坐标值转换成窗口的坐标值。

参数:1、HGDC dc – 图形上下文对象

2、GRect* pRect – 画布矩形的指针

返回值:已经转换的矩形

rvgConvertXToCanvas

声明: int rvgConvertXToCanvas(HGDC dc , int value );

描述:将窗口的x坐标值转换成画布的坐标值。

参数:1、HGDC dc – 图形上下文对象

2、Int value –窗口的x坐标值。

返回值:画布坐标值

rvgConvertYToCanvas

声明: int rvgConvertYToCanvas(HGDC dc , int value );

描述:将窗口的y坐标值转换成画布的坐标值。

参数:1、HGDC dc – 图形上下文对象

2、Int value –窗口的y坐标值。

返回值:画布坐标值

rvgConvertPointToCanvas

声明: GPoint rvgConvertPointToCanvas(HGDC dc , int x , int y);

描述:将窗口的点坐标值转换成的画布坐标值。

参数:1、HGDC dc – 图形上下文对象

2、Int x –窗口的点x坐标值。

3、Int y –窗口的点y坐标值。

返回值:画布点坐标值

rvgConvertPointToCanvasEx

声明:GPoint rvgConvertPointToCanvasEx(HGDC dc , GPoint* pPoint);

描述:将窗口的点坐标值转换成画布的坐标值。

参数:1、HGDC dc – 图形上下文对象

2、GPoint* pPoint –窗口的点对象的指针。

返回值:画布点坐标值

rvgConvertRectToCanvas

声明: GRect rvgConvertRectToCanvas(HGDC dc , int left, int top, int right, int bottom);

描述:将窗口的矩形坐标值转换成画布的坐标值。

参数: 1、HGDC dc – 图形上下文对象

2、int left – 左边

3、int top – 顶部

4、int right – 右边

5、int bottom – 底部

返回值: 已经转换的矩形

rvgConvertRectToCanvasEx

声明:GRect rvgConvertRectToCanvasEx(HGDC dc , GRect* pRect);

描述:将窗口的矩形坐标值转换成画布的坐标值。

参数: 1、HGDC dc – 图形上下文对象

2、GRect* pRect –窗口矩形的指针

返回值: 已经转换的矩形

rvgCombine

声明:RV_HANDLE rvgCombine(HGDC dc, RV_HANDLE* hStrokeArray, int nStrokeCount, RV_HANDLE hResult);

描述:将多个笔画对象联合成一个笔画对象。

参数: 1、HGDC dc – 图形上下文对象

2、RV_HANDLE* hStrokeArray – 笔画数组

3、int nStrokeCount – 笔画数量

4、RV_HANDLE hResult – 新的笔画

返回值:新的笔画

rvgUncombine

声明:int XGUI_API rvgUncombine(HGDC dc, RV_HANDLE hStroke, RV_HANDLE* hResultArray, int nArraySize,BOOL bCreateDummy=FALSE, BOOL bEraseOriginal = FALSE);

描述:将一个笔画对象分拆成成多个笔画对象。

参数: 1、HGDC dc – 图形上下文对象

2、RV_HANDLE hStroke – 被拆分的笔画

3、RV_HANDLE* hResultArray – 保存新的笔画数组

4、int nArraySize – 数组大小

5、BOOL bCreateDummy – 是否创建哑笔画(不进行实际绘制)

6、BOOL bEraseOriginal – 是否删除原来的被拆分比画

返回值:新笔画数量

rvgSetCurrentLayer

声明:void rvgSetCurrentLayer(HGDC dc, int nLayer );

描述:设置当前绘制层。

参数: 1、HGDC dc – 图形上下文对象

2、int nLayer – 绘制层

返回值:无

rvgGetCurrentLayer

声明:int rvgGetCurrentLayer(HGDC dc);

描述:获取当前绘制层。

参数: HGDC dc – 图形上下文对象

返回值: 绘制层

rvgSetTrasparence

//透明度在~1之间

声明:void rvgSetTrasparence(HGDC self, float rate);

描述:设置当前透明度。

参数: 1、HGDC dc – 图形上下文对象

2、float rate – 透明度。在0与1之间。

返回值:无

rvgGetTrasparence

声明:float rvgGetTrasparence(HGDC self );

描述:获取当前透明度。

参数: HGDC dc – 图形上下文对象

返回值:无

rvgCreateCanvas

声明:HCANVAS rvgCreateCanvas(HGDC dc, RV_CANVAS_TYPE type, GColor backColor, int width, int height);

描述:创建画布。

参数: 1、HGDC dc – 图形上下文对象

2、RV_CANVAS_TYPE type – 画布类型。

3、RV_CT_LIGHT - 轻型

4、RV_CT_GENERIC - 常规,

5、RV_CT_ENHANCED – 增强型

6、GColor backColor – 画布底色。

7、RV_CB_CHECK – 方格

8、RV_CB_BLACK - 黑色

9、RV_CB_WHITE – 白色

10、int width – 画布宽度

11、int height – 画布高度

返回值:画布句柄

rvgCreateCanvasEx

声明: HCANVAS rvgCreateCanvasEx(HGDC dc, RV_CANVAS_TYPE type, GColor backColor, const RvImage image);

描述:创建画布。大小与数字图象一样,并且将数字图象绘制到画布上。

参数: 1、HGDC dc – 图形上下文对象

2、RV_CANVAS_TYPE type – 画布类型。

3、RV_CT_LIGHT - 轻型

4、RV_CT_GENERIC - 常规,

5、RV_CT_ENHANCED – 增强型

6、GColor backColor – 画布底色。

7、RV_CB_CHECK – 方格

8、RV_CB_BLACK - 黑色

9、RV_CB_WHITE – 白色

10、const RvImage image – 数字图象

返回值:画布句柄

rvgDestroyCanvas

声明:void rvgDestroyCanvas(HCANVAS canvas);

描述:销毁画布。

参数: HCANVAS canvas – 画布句柄

返回值:无

rvgResetCanvas

声明:void rvgResetCanvas(HCANVAS canvas);

描述:重新设置画布。

参数: HCANVAS canvas – 画布句柄

返回值:无

rvgSetCanvasBackColor

声明:void rvgSetCanvasBackColor(HCANVAS canvas, GColor color);

描述:设置画布背景颜色。

参数: 1、HCANVAS canvas – 画布句柄

2、GColor color – 颜色

返回值:无

rvgExportCanvas

声明:RvImage rvgExportCanvas(HCANVAS canvas, RvImage image);

描述:输出画布。

参数: 1、HCANVAS canvas – 画布句柄

2、RvImage image – 将画布内容输出到图象对象

返回值:无

rvgGetCanvasWidth

声明:int rvgGetCanvasWidth(HCANVAS canvas );

描述:获得画布宽度。

参数: HCANVAS canvas – 画布句柄

返回值:画布宽度

rvgGetCanvasHeight

声明:int rvgGetCanvasHeight(HCANVAS canvas );

描述:获得画布高度。

参数: HCANVAS canvas – 画布句柄

返回值:画布高度

rvgResizeCanvas

声明: BOOL rvgResizeCanvas(HCANVAS canvas, int width, int height, BOOL bCleaned );

描述:调整画布大小。

参数: 1、HCANVAS canvas – 画布句柄

2、int width – 新画布宽度

3、int height – 新画布高度

4、BOOL bCleaned – 清除画布内容

返回值:TRUE 或者 FALSE。当画布调整变大的时候,可能会失败。

rvgCreateBrush

声明:GBrush* rvgCreateBrush(int type=RV_BT_SOLID, int size=9, GRgb color=GRGB(255,0,0) );

描述:创建画刷。

参数: 1、int type – 画刷式样

2、RV_BT_SOLID – 实心

3、RV_BT_BDIAG - 对角线

4、RV_BT_CROSS - 十字线

5、RV_BT_DIAGCROSS – 对角交叉线

6、RV_BT_FDIAG - 反向对角线

7、RV_BT_HORI - 水平线

8、RV_BT_VERT - 垂直线

9、RV_BT_DOT - 点

10、int size – 画刷大小

11、GRgb color - 颜色

返回值:画刷对象指针。

rvgDestroyBrush

声明:void rvgDestroyBrush(GBrush* pBrush);

描述:销毁画刷。

参数: GBrush* pBrush -画刷对象指针

返回值:无

rvgCreatePen

声明:GPen* rvgCreatePen( GRgb color ,int size , int style );

描述:创建画笔。

参数: 1、GRgb color – 画笔颜色

2、int size – 画笔大小

3、int style – 画笔笔型

4、RV_PS_SOLID – 实线

5、RV_PS_HIDDEN - 虚线

6、RV_PS_CENTER - 中心线

7、RV_PS_INCLUSION – 双点画线

返回值:画笔对象指针。

rvgDestroyPen

声明:void rvgDestroyPen(GPen* pPen);

描述:销毁画笔。

参数: GPen* pPen -画笔对象指针

返回值:无

rvgCreatePostModel

声明:GPostModel* rvgCreatePostModel(int type, GColor ignore=-1, DWORD dwPrime=0, DWORD dwMinor=0);

描述:创建画框。

参数: 1、int type – 画框类型

2、GColor ignore – 忽略的颜色

3、DWORD dwPrime – 主参数。不同的类型对应不同的参数

4、DWORD dwMinor – 次参数。不同的类型对应不同的次参数。

参数设置如下:

序号 类型 主参数 次参数
1 RV_PT_SPECIFIC
RV_FST_RECT
- 矩形区域
RV_FST_POLY
- 多边形区域
RV_FST_MASK
- 模板
2 RV_PT_ALIGN
RV_FA_TOP
- 顶部
RV_FA_VCENTER
- 垂直中部
RV_FA_BOTTOM
- 底部
RV_FA_LEFT
- 左边
RV_FA_HCENTER
- 水平中部
RV_FA_RIGHT
- 右边
3 RV_PT_ROTATE 旋转角度 是否保持原来大小
4 RV_PT_STRETCH 是否保持比例
5 RV_PT_SCALE 比例
6 RV_PT_SKEW 顶点坐标
7 RV_PT_TILE
RV_FTT_REPEAT

RV_FTT_MIRROR

返回值:画框对象指针。

rvgDestroyPostModel

声明:void rvgDestroyPostModel(GPostModel* pPostModel);

描述:销毁画框对象。

参数: GPostModel* pPostModel -画框对象指针

返回值:无

rvgGetRightBottom

声明: GPoint rvgGetRightBottom(GRect *pRect);

描述:获取矩形右下角坐标。

参数: GRect *pRect – 矩形对象指针

返回值:右下角坐标

rvgGetTopLeft

声明:GPoint rvgGetTopLeft(GRect *pRect);

描述:获取矩形左下角坐标。

参数: GRect *pRect – 矩形对象指针

返回值:左下角坐标

rvgGetCenterPoint

声明:GPoint rvgGetCenterPoint(GRect *pRect);

描述:获取矩形中心点坐标。

参数: GRect *pRect – 矩形对象指针

返回值:中心点坐标

rvgDeflateRectEx

声明:GRect* rvgDeflateRectEx (GRect *pRect, GSize size);

描述:将矩形缩小。

参数: 1、GRect *pRect – 矩形对象指针

2、GSize size – 水平和垂直方向缩小的幅度值

返回值:矩形对象指针

rvgDeflateRect

声明:GRect* rvgDeflateRect(GRect *pRect, int dx, int dy );

描述:将矩形缩小。

参数: 1、GRect *pRect – 矩形对象指针

2、int dx – 水平方向的缩小量

3、int dy – 垂直方向的缩小量

返回值:矩形对象指针

rvgIsRectEqual

声明:BOOL rvgIsRectEqual(GRect *pRect, GRect* pOther);

描述:判断两个矩形是否相等。

参数: 1、GRect *pRect – 矩形对象指针

2、GRect* pOther – 另一个矩形对象

返回值:TRUE 或者 FALSE。

rvgIsRectNormal

声明:BOOL rvgIsRectNormal(GRect *pRect);

描述:判断矩形是否正常。

参数: GRect *pRect – 矩形对象指针

返回值:TRUE 或者 FALSE。

rvgGetRectHeight

声明:int rvgGetRectHeight(GRect *pRect);

描述:获取矩形高度。

参数: GRect *pRect – 矩形对象指针

返回值:矩形高度

rvgGetRectWidth

声明:int rvgGetRectWidth(GRect *pRect);

描述:获取矩形宽度。

参数: GRect *pRect – 矩形对象指针

返回值:矩形宽度

rvgInflateRectEx

声明:GRect* rvgInflateRectEx(GRect *pRect, GSize size);

描述:将矩形放大。

参数: 1、GRect *pRect – 矩形对象指针

2、GSize size – 水平和水平方向的放大量

返回值:矩形对象指针

rvgInflateRect

声明:GRect* rvgInflateRect(GRect *pRect, int x, int y );

描述:将矩形放大。

参数: 1、GRect *pRect – 矩形对象指针

2、int dx – 水平方向的放大量

3、int dy – 垂直方向的放大量

返回值:矩形对象指针

rvgIsRectEmpty

声明:BOOL rvgIsRectEmpty(GRect *pRect);

描述:判断矩形是否为空, 即左边大于或等于右边 或者 下边大于或等于上边。

参数: GRect *pRect – 矩形对象指针

返回值:TRUE 或者 FALSE

rvgIsRectNull

声明:BOOL rvgIsRectNull(GRect *pRect);

描述:判断矩形是否为NULL, 即左上角和右下角均为0。

参数: GRect *pRect – 矩形对象指针

返回值:TRUE 或者 FALSE

rvgNormalizeRect

声明:GRect* rvgNormalizeRect(GRect *pRect);

描述:将矩形规范化,即左边必须小于或等于右边,而且上边小于或等于下边。

参数: GRect *pRect – 矩形对象指针

返回值:矩形对象指针

rvgMoveRectEx

声明:GRect* rvgMoveRectEx(GRect *pRect,GSize size);

描述:移动矩形。

参数: 1、GRect *pRect – 矩形对象指针

2、GSize size – 水平和垂直方向的移动量。

返回值:矩形对象指针

rvgMoveRect

声明:GRect* rvgMoveRect (GRect *pRect,int x, int y);

描述:移动矩形。

参数: 1、GRect *pRect – 矩形对象指针

2、int x –水平方向的移动量。

3、int y -垂直方向的移动量。

返回值:矩形对象指针

rvgIsInsideRect

声明:BOOL rvgIsInsideRect(GRect *pRect, GPoint point);

描述:判断点位置是否在矩形里面。

参数: 1、GRect *pRect – 矩形对象指针

2、GPoint point - 点坐标

返回值:TRUE 或者 FALSE

rvgIsSubRect

声明:BOOL rvgIsSubRect(GRect *pRect, GRect* pOther);

描述:判断一个矩形是否在另一个矩形里面。

参数: 1、GRect *pRect – 矩形对象指针

2、GRect* pOther – 另一个矩形对象指针

返回值:TRUE 或者 FALSE

rvgSetRectEmpty

声明:GRect* rvgSetRectEmpty(GRect *pRect);

描述:将矩形设置为空,即将右边坐标等于左边坐标, 下边坐标等于上边坐标。

参数: 1、GRect *pRect – 矩形对象指针

返回值:矩形对象指针

rvgGetRectSize

声明:GSize rvgGetRectSize(GRect *pRect);

描述:获取矩形的宽度和高度。

参数: GRect *pRect – 矩形对象指针

返回值:宽度和高度

rvgRectIntersect

声明:GRect* rvgRectIntersect(GRect *pRect, GRect* pOther);

描述:获取两个矩形的交集矩形。

参数: 1、GRect *pRect – 矩形对象指针

2、GRect* pOther – 另一个矩形对象

返回值:矩形对象指针

rvgRectUnion

声明:GRect* rvgRectUnion(GRect *pRect, GRect* pOther);

描述:获取两个矩形的并集矩形。

参数: 1、GRect *pRect – 矩形对象指针

2、GRect* pOther – 另一个矩形对象

返回值:矩形对象指针

rvgSetRect

声明:GRect* rvgSetRect(GRect *pRect, int left, int top, int right, int bottom);

描述:设置矩形的左边,上边,右边,下边值。

参数: 1、GRect *pRect – 矩形对象指针

2、int left – 左上角x坐标

3、int top –左上角y坐标

4、int right – 右下角x坐标

5、int bottom - 右下角y坐标

返回值:矩形对象指针

rvgRectMoveToX

声明:GRect* rvgRectMoveToX(GRect *pRect int x);

描述:将矩形水平移动到x坐标位置

参数: 1、GRect *pRect – 矩形对象指针

2、Int x –x坐标

返回值:矩形对象指针

rvgRectMoveToY

声明:GRect* rvgRectMoveToY(GRect *pRect, int y);

描述:将矩形水平移动到y坐标位置

参数: 1、GRect *pRect – 矩形对象指针

2、Int y –y坐标

返回值:矩形对象指针

rvgRectMoveToXY

声明:GRect* rvgRectMoveToXY(GRect *pRect, int x, int y);

描述:将矩形水平移动到x坐标和y坐标位置

参数: 1、GRect *pRect – 矩形对象指针

2、Int x – x坐标

3、Int x – y坐标

返回值:矩形对象指针

rvgCreateMark

声明:GMark* rvgCreateMark(UINT flag , GPoint pos , GSize outerSize , GSize innerSize );

描述:创建标记。标记由内部形状和外部形状组成。

参数: UINT flag – 标记式样

内部标记:

RV_MIS_NONE - 无

RV_MIS_POINT - 点

RV_MIS_CROSS - 十字

RV_MIS_EXPRESS - 叉字

RV_MIS_CROSS_EX - 满十字

RV_MIS_EXPRESS_EX - 满叉字

RV_MIS_ARROW_H - 水平箭头

RV_MIS_ARROW_V - 垂直箭头

外部标记:

RV_MOS_NONE - 无

RV_MOS_FOCUS - 焦点

RV_MOS_BOX - 矩形

RV_MOS_DISK - 圆形

RV_MOS_LINES_H - 水平线 //一对水平线

RV_MOS_LINES_V - 垂直线 //一对垂直线

RV_MOS_DIV -视场分隔线(特殊的外部标记)

视场分隔线式样

RV_MIS_HORI - 水平

RV_MIS_VERT - 垂直

RV_MIS_SLANT - 对角线

RV_MIS_ANTI_SLANT - 反对角线

GPoint pos- 中心点位置

GSize outerSize - 外部尺寸

GSize innerSize – 内部尺寸

返回值:标记对象指针

rvgDestroyMark

声明:void rvgDestroyMark(GMark* pMark);

描述:销毁标记对象

参数: GMark* pMark -标记对象指针

返回值:无

rvgResizeMark

声明:void rvgResizeMark(GMark *self, int dx, int dy,BOOL bInner );

描述:设置标记对象大小

参数: 1、GMark* pMark -标记对象指针

2、int cx – 标记水平宽度

3、int cy – 标记垂直宽度

4、BOOL bInner – 是否设置内部大小

返回值:无

rvgResizeMarkEx

声明:void rvgResizeMarkEx(GMark *self, GSize size, BOOL bInner );

描述:将矩形水平移动到x坐标和y坐标位置

参数: 1、GRect *pRect – 矩形对象指针

2、GSize size - 标记水平和垂直宽度

3、BOOL bInner – 是否设置内部大小

返回值:无



QQ技术交流群:
微信技术交流群:
Marklab工作室
研发中心: 广东省东莞市大岭山镇元岭小区翠云街1巷16号
商务中心: 广东省东莞市松湖智谷B6栋225b

二维码1 二维码2 二维码3


Marklab工作室 版权所有  粤ICP备13082990号-2   友情链接 hao123 绿盟 搜狗 站长之家 太平洋下载 天极下载 淘宝店 软云动力

赞助和协作单位 广东省科学院自动化研究所 深圳市东百胜技术有限公司

统计显示 ▼