XGUI API手册.docx
- 文档编号:11887913
- 上传时间:2023-04-08
- 格式:DOCX
- 页数:34
- 大小:169.21KB
XGUI API手册.docx
《XGUI API手册.docx》由会员分享,可在线阅读,更多相关《XGUI API手册.docx(34页珍藏版)》请在冰豆网上搜索。
XGUIAPI手册
XGUIAPI手册
编写:
Liuwei
日期:
2014-07-06
绘图API
CreateSurface:
创建绘图表面
函数原型:
SURFACE*CreateSurface(INT32UFormat,INT32UnWidth,INT32UnHeight);
函数说明:
创建绘图表面
参数说明:
Format:
颜色格式;
nWidth:
宽度
nHeight:
高度
返回参数:
绘图表面对象指针
使用举例:
pSurf=CreateSurface(BM_RGB565,320,240);创建一个RGB565格式,320*240的绘图表面
pSurf=CreateSurface(BM_ARGB8888,128,80);创建一个ARGB8888格式,128*80的绘图表面
DeleteSurface:
删除绘图表面
函数原型:
voidDeleteSurface(SURFACE*pSurf)
函数说明:
删除绘图表面
参数说明:
pSurf:
绘图表面指针;
返回参数:
无
使用举例:
CreateDC:
创建DC(绘图上下文)
函数原型:
HDCCreateDC(SURFACE*pSurf,CONSTRECT*lprc);
函数说明:
创建DC
参数说明:
pSurf:
绘图表面指针;
lprc:
绘图矩形区,lprc=NULL时,使用整个绘图表面的区域.
返回参数:
绘图上下文。
使用举例:
rc.x=20;rc.y=30;rc.w=128;rc.h=64;
hdc=CreateDC(pSurf,&rc);创建DC,在绘图表面20,30位置处,大小为128*64像素.
hdc=CreateDC(pSurf,NULL);创建DC,使用整个绘图表面区域.
DeleteDC:
删除DC
函数原型:
intDeleteDC(HDChdc);
函数说明:
删除DC(由CreateDC返回的DC)
参数说明:
hdc:
DC句柄
返回参数:
成功:
非0;失败:
0
使用举例:
MapRGB332:
将RGB332格式转换为目标颜色
函数原型:
COLORREFMapRGB332(HDChdc,U32rgb332);
函数说明:
将RGB332格式转化为目标颜色.
参数说明:
hdc:
绘图上下文.
rgb332:
RGB332颜色值
返回参数:
目标颜色
使用举例:
color=MapRGB332(hdc,RGB332(7,0,0));
MapRGB565:
将RGB565格式转换为目标颜色
函数原型:
COLORREFMapRGB565(HDChdc,U32rgb565);
函数说明:
将RGB565格式转化为目标颜色.
参数说明:
hdc:
绘图上下文.
rgb565:
RGB565颜色值
返回参数:
目标颜色
使用举例:
color=MapRGB565(hdc,RGB565(56,0,0));
MapARGB8888:
将ARGB8888格式转换为目标颜色
函数原型:
COLORREFMapARGB8888(HDChdc,U32argb8888);
函数说明:
将ARGB8888格式转化为目标颜色.
参数说明:
hdc:
绘图上下文.
argb8888:
ARGB8888颜色值
返回参数:
目标颜色
使用举例:
color=MapARGB8888(hdc,ARGB565(128,200,0,0));
MapRGB:
以R,G,B方式设置颜色值
函数原型:
COLORREFMapRGB(HDChdc,U8r,U8g,U8b);
函数说明:
以r,g,b三基色方式设置颜色值.
参数说明:
hdc:
绘图上下文.
r:
红色分量0~255;g:
绿色分量0~255;b:
蓝色分量0~255
返回参数:
目标颜色
使用举例:
color=MapRGB(hdc,200,100,100);
SetTextColor:
设置字体颜色
函数原型:
COLORREFSetTextColor(HDChdc,COLORREFcolor);
函数说明:
设置字体颜色
参数说明:
hdc:
绘图上下文.
color:
颜色值
返回参数:
旧的字体颜色
使用举例:
color=SetTextColor(hdc,MapRGB(hdc,200,0,0));
GetTextColor:
获得字体颜色
函数原型:
COLORREFGetTextColor(HDChdc);
函数说明:
获得当前字体颜色.
参数说明:
hdc:
绘图上下文.
返回参数:
当前字体颜色
使用举例:
color=GetTextColor(hdc);
SetPenColor:
设置画笔颜色
函数原型:
COLORREFSetPenColor(HDChdc,COLORREFcolor);
函数说明:
设置画笔颜色.
参数说明:
hdc:
绘图上下文.
color:
颜色值
返回参数:
旧的画笔颜色
使用举例:
color=SetPenColor(hdc,MapRGB(hdc,200,0,0));
GetPenColor:
获得当前画笔颜色
函数原型:
COLORREFGetPenColor(HDChdc);
函数说明:
获得当前画笔颜色.
参数说明:
hdc:
绘图上下文.
返回参数:
当前画笔颜色
使用举例:
color=GetPenColor(hdc);
SetBrushColor:
设置画刷颜色
函数原型:
COLORREFSetBrushColor(HDChdc,COLORREFcolor);
函数说明:
设置画刷颜色.
参数说明:
hdc:
绘图上下文.
color:
颜色值
返回参数:
旧的画刷颜色
使用举例:
color=SetBrushColor(hdc,MapRGB(hdc,200,0,0));
GetBrushColor:
获得当前画刷颜色
函数原型:
COLORREFGetBrushColor(HDChdc);
函数说明:
获得当前画刷颜色.
参数说明:
hdc:
绘图上下文.
返回参数:
当前画刷颜色
使用举例:
color=GetBrushColor(hdc);
ClrDisplay:
清除显示
函数原型:
voidClrDisplay(HDChdc,CONSTLPRECTlpRect,COLORREFcolor);
函数说明:
用指定的颜色清除指定的矩形区域
参数说明:
hdc:
绘图上下文.
lpRect:
要清除的矩形区,为NULL时,清除整个绘图上下文区域.
color:
颜色值
返回参数:
无
使用举例:
ClrDisplay(hdc,NULL,MapRGB(hdc,200,0,0));
MoveToEx:
设置当前坐标
函数原型:
BOOLMoveToEx(HDChdc,intx,inty,LPPOINTlpPoint);
函数说明:
设置当前坐标
参数说明:
hdc:
绘图上下文.
x,y:
要设置的坐标值
lpPoint:
返回的旧的坐标位置,如果不用返回旧的坐标,可以设为NULL.
返回参数:
FALSE:
失败;TRUE:
成功.
使用举例:
MoveToEx(hdc,10,20,NULL);
SetPixel:
画点
函数原型:
voidSetPixel(HDChdc,intx,inty,COLORREFcolor);
函数说明:
在指定位置画一个点
参数说明:
hdc:
绘图上下文.
x,y:
位置坐标
color:
颜色值
返回参数:
无
使用举例:
SetPixel(hdc,10,20,MapRGB(hdc,200,0,0));
GetPixel:
获得指定位置点的颜色
函数原型:
COLORREFGetPixel(HDChdc,intx,inty);
函数说明:
在指定位置画一个点
参数说明:
hdc:
绘图上下文.
x,y:
位置坐标
返回参数:
颜色值
使用举例:
color=GetPixel(hdc,10,20);
HLine:
画水平线
函数原型:
voidHLine(HDChdc,intsx,intsy,intex);
函数说明:
画水平线,一个像素大小,使用PenColor
参数说明:
hdc:
绘图上下文.
sx,sy:
起始坐标
ex:
水平方向结束位置
返回参数:
无
使用举例:
HLine(hdc,10,20,100);
VLine:
画垂直线
函数原型:
voidVLine(HDChdc,intsx,intsy,intey);
函数说明:
画水平线,一个像素大小,使用PenColor
参数说明:
hdc:
绘图上下文.
sx,sy:
起始坐标
ey:
垂直方向结束位置
返回参数:
无
使用举例:
VLine(hdc,10,20,100);
Line:
画线
函数原型:
voidLine(HDChdc,intsx,intsy,intex,intey);
函数说明:
画线,一个像素大小,使用PenColor
参数说明:
hdc:
绘图上下文.
sx,sy:
起始坐标
ex,ey:
结束坐标
返回参数:
无
使用举例:
SetPenColor(hdc,MapRGB(hdc,200,0,0));//设置颜色,线条使用PenColor
Line(hdc,10,20,100,200);
LineTo:
画线
函数原型:
voidLine(HDChdc,intx,intsy);
函数说明:
画线,一个像素大小,使用PenColor,从当前位置连到一个指定的点.这个函数调用完毕,
当前位置变成x,y.起始位置受MoveToEx影响.
参数说明:
hdc:
绘图上下文.
sx,sy:
起始坐标
ex,ey:
结束坐标
返回参数:
无
使用举例:
SetPenColor(hdc,MapRGB(hdc,200,0,0));//设置颜色,线条使用PenColor
MoveToEx(hdc,10,20,NULL);//设置当前位置
LineTo(hdc,100,200);//画线10,20–100,200,当前位置变为100,200
LineTo(hdc,200,300);//画线100,200–200,300,当前位置变为200,300
PolyLine:
连续画线
函数原型:
voidPolyLine(HDChdc,LPPOINTlpPoint,intcnt);
函数说明:
连续画线,一个像素大小,使用PenColor
参数说明:
hdc:
绘图上下文.
lpPoint:
坐标点
cnt:
坐标点数量
返回参数:
无
使用举例:
POINTpt[3]={10,20,
20,30,
30,40,
}
PolyLine(hdc,&pt,3);
DrawRect:
画空心矩形
函数原型:
voidDrawRect(HDChdc,CONSTLPRECTlpRect);
函数说明:
画空心矩形,使用PenColor.
参数说明:
hdc:
绘图上下文.
lpRect:
矩形参数
返回参数:
无
使用举例:
RECTrc={10,20,128,64};//矩形位置:
10,20,矩形大小:
128,64
SetPenColor(hdc,MapRGB(hdc,200,0,0));//矩形颜色,使用PenColor
DrawRect(hdc,&rc);//绘制矩形
FillRect:
填充矩形
函数原型:
voidFillRect(HDChdc,CONSTLPRECTlpRect);
函数说明:
填充矩形,使用BrushColor.
参数说明:
hdc:
绘图上下文.
lpRect:
矩形参数
返回参数:
无
使用举例:
RECTrc={10,20,128,64};//矩形位置:
10,20,矩形大小:
128,64
SetBrushColor(hdc,MapRGB(hdc,200,0,0));//矩形颜色,使用BrushColor
FillRect(hdc,&rc);//填充矩形
GradientFillRect:
渐变色填充矩形
函数原型:
voidGradientFillRect(HDChdc,CONSTLPRECTlpRect,COLORREFColor0,COLORREFColor1,BOOLbVert);
函数说明:
渐变色填充矩形
参数说明:
hdc:
绘图上下文.
lpRect:
矩形参数
Color0:
起始颜色
Color1:
结束颜色
bVert:
TURE:
以垂直方向渐变填充;FALSE:
以水平方向渐变填充
返回参数:
无
使用举例:
Color0=MapRGB(hdc,200,0,0);
Color1=MapRGB(hdc,0,0,200);
GradientFillRect(hdc,&rc,Color0,Color1,TRUE);//以垂直方向渐变填充矩形
GradientFillRect(hdc,&rc,Color0,Color1,FALSE);//以水平方向渐变填充矩形
DrawRoundRect:
画空心圆角矩形
函数原型:
voidDrawRoundRect(HDChdc,CONSTLPRECTlpRect,intr);
函数说明:
画空心圆角矩形,使用PenColor.
参数说明:
hdc:
绘图上下文.
lpRect:
矩形参数
r:
圆角的半径
返回参数:
无
使用举例:
RECTrc={10,20,160,80};//矩形位置:
10,20,矩形大小:
128,64
SetPenColor(hdc,MapRGB(hdc,200,0,0));//矩形颜色,使用PenColor
DrawRoundRect(hdc,&rc,8);//绘制圆角矩形,圆角半径为8像素
FillRoundRect:
填充圆角矩形
函数原型:
voidFillRoundRect(HDChdc,CONSTLPRECTlpRect,intr);
函数说明:
填充圆角矩形,使用BrushColor.
参数说明:
hdc:
绘图上下文.
lpRect:
矩形参数
r:
圆角的半径
返回参数:
无
使用举例:
RECTrc={10,20,128,64};//矩形位置:
10,20,矩形大小:
128,64
SetBrushColor(hdc,MapRGB(hdc,200,0,0));//矩形颜色,使用BrushColor
FillRoundRect(hdc,&rc,8);//绘制圆角矩形,圆角半径为8像素
DrawCircle:
画空心圆
函数原型:
voidDrawCircle(HDChdc,intx,inty,intr);
函数说明:
以xy坐标为中心,画半径为r的空心圆,使用PenColor.
参数说明:
hdc:
绘图上下文.
x,y:
圆的中心位置坐标
r:
圆的半径
返回参数:
无
使用举例:
SetPenColor(hdc,MapRGB(hdc,200,0,0));//设置颜色,使用PenColor
DrawCircle(hdc,100,200,50);//以100,200为中心,画一个半径为50像素的空心圆
FillCircle:
画实心圆
函数原型:
voidFillCircle(HDChdc,intx,inty,intr);
函数说明:
以xy坐标为中心,画半径为r的实心圆,使用BrushColor.
参数说明:
hdc:
绘图上下文.
x,y:
圆的中心位置坐标
r:
圆的半径
返回参数:
无
使用举例:
SetBrushColor(hdc,MapRGB(hdc,200,0,0));//设置颜色,使用BrushColor
FillCircle(hdc,100,200,50);//以100,200为中心,画一个半径为50像素的实心圆
DrawEllipse:
画空心椭圆
函数原型:
voidDrawEllipse(HDChdc,intx,inty,intrx,intry);
函数说明:
以xy坐标为中心,画水平半径为rx,垂直半径为ry的空心椭圆,使用PenColor.
参数说明:
hdc:
绘图上下文.
x,y:
椭圆的中心位置坐标
rx:
椭圆的水平半径
ry:
椭圆的垂直半径
返回参数:
无
使用举例:
SetPenColor(hdc,MapRGB(hdc,200,0,0));//设置颜色,使用PenColor
DrawEllipse(hdc,100,200,50,30);
FillEllipse:
画实心椭圆
函数原型:
voidFillEllipse(HDChdc,intx,inty,intrx,intry);
函数说明:
以xy坐标为中心,画水平半径为rx,垂直半径为ry的实心椭圆,使用BrushColor.
参数说明:
hdc:
绘图上下文.
x,y:
椭圆的中心位置坐标
rx:
椭圆的水平半径
ry:
椭圆的垂直半径
返回参数:
无
使用举例:
SetBrushColor(hdc,MapRGB(hdc,200,0,0));//设置颜色,使用BrushColor
FillEllipse(hdc,100,200,50,30);
DrawPolygon:
画空心多边形
函数原型:
voidDrawPolygon(HDChdc,CONSTLPPOINTps,intcount);
函数说明:
画空心多边形,使用PenColor.
参数说明:
hdc:
绘图上下文.
ps:
多边形各顶点坐标
count:
多边顶点数
返回参数:
无
使用举例:
POINTpt[3]={10,20,
50,60,
30,40,
};
SetPenColor(hdc,MapRGB(hdc,200,0,0));//设置颜色,使用PenColor
DrawPolygon(hdc,&pt,3);//绘制多边形
FillPolygon:
画实心多边形
函数原型:
voidFillPolygon(HDChdc,CONSTLPPOINTps,intcount);
函数说明:
画实心多边形,使用BrushColor.
参数说明:
hdc:
绘图上下文.
ps:
多边形各顶点坐标
count:
多边顶点数
返回参数:
无
使用举例:
POINTpt[3]={10,20,
50,60,
30,40,
};
SetBrushColor(hdc,MapRGB(hdc,200,0,0));//设置颜色,使用BrushColor
FillPolygon(hdc,&pt,3);//绘制多边形
TextOut:
在指定位置显示字符串
函数原型:
BOOLTextOut(HDChdc,intx,inty,LPCWSTRlpString,intnCount);
函数说明:
在指定位置显示字符串,使用TextColor,只支持单行显示.
参数说明:
hdc:
绘图上下文.
x,y:
位置坐标
lpString:
字符串(Unicode)
nCount:
要显示字符的字符数,当设置为-1时,将显示整个字符串
返回参数:
FALSE:
失败;TRUE:
成功
使用举例:
SetTextColor(hdc,MapRGB(hdc,200,0,0));//设置字体颜色
TextOut(hdc,10,20,L”ABC123”,-1);
DrawTextEx:
在指定矩形内显示字符串
函数原型:
intDrawTextEx(HDChdc,LPCWSTRlpString,intnCount,CONSTLPRECTlpRect,UINTuDTFormat,
LPDRAWTEXTPARAMSlpDTParams);
函数说明:
在指定矩形内显示字符串,使用TextColor,支持单行,多行显示.
参数说明:
hdc:
绘图上下文.
lpString:
字符串(Unicode)
nCount:
要显示字符的字符数,当设置为-1时,将显示整个字符串
lpRect:
显示矩形区域
uDTFormat:
格式标记,可以有以下组合:
DT_LEFT:
水平左对齐.
DT_CENTER:
水平居中对齐.
DT_RIGHT:
水平右对齐.
DT_SINGLELINE:
如果设置了该标志,为单行显示方式,否则为多行显示方式.
DT_NOCLIP:
如果设置了该项标志,将不剪切字符超出矩形的范围.
lpDTParams:
扩展的参数,如果设置为NULL,则不使用,该结构参数如下:
typedefstructtagDRAWTEXTPARAMS
{
UINTcbSize;//设置为DRAWTEXTPARAMS结构体的字节数
intiTabLength;//目前不使用.
intiXOffset;//字符串在矩形内的X坐标偏移
intiYOffset;//字符串在矩形内的Y坐标偏移
}DRAWTEXTPARAMS,FAR*LPDRAWTEXTPARAMS;
返回参数:
FALSE:
失败;TRUE:
成功
使用举例:
RECTrc={10,20,160,40};
SetTextColor(hdc,MapRGB(hdc,200,0,0));//设置字体颜色
DrawTextEx(hdc,L”ABC123”,-1,&rc,DT_SINGLELINE|DT_CENTER,NULL);//单行显示,水平居中
BitBlt:
基本的块传输
函数原型:
BOOLBitBlt(HDCdst_hdc,intdst_x,intdst_y,UINTdst_w,UINTdst_h,
HDCsrc_hdc,intsrc_x,intsrc_y,DWORDrop);
函数说明:
该函数对指定的源设备环境区域中的像素进行位块转换,以传送到目标设备环境
参数说明:
dst_hdc:
目标绘图上下文.
dst_x,dst_y,dst_w,dst_h:
传输到目标的位置和大小
src_hdc:
源绘图上下文.
src_x,src_y:
要传输的块在源目标中的起始坐标位置
rop:
光栅操作代码,目前只支持SRCCOPY:
将源矩形区域直接拷贝到目标矩形区域。
返回参数:
FALSE:
失败;TRUE:
成功
使用举例:
BitBlt(dst_hdc,10,20,128,80,src_hdc,0,0,SRCCOPY);//将src_hdc0,0位置复制到dst_hdc,10,20位置,
//大小为128x80
StretchBlt:
带伸展功能的块传输
函数原型:
BOOLStretchBlt(HDCdst
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- XGUI API手册 API 手册
![提示](https://static.bdocx.com/images/bang_tan.gif)