EasyX指导手册(6)

2019-08-17 13:14

str待输出的字符串的指针。 c待输出的字符。 说明:

该函数不会改变当前位置。 示例: //输出字符串

chars[]=\outtextxy(10,20,s); //输出字符 charc='A';

outtextxy(10,40,c);

//输出数值,先将数字格式化输出为字符串 chars[5];

sprintf(s,\outtextxy(10,60,s); 2.4.7setbkmode

这个函数用于设置输出文字时的背景模式。 voidsetbkmode(intiBkMode); 参数:iBkMode

指定输出文字时的背景模式,可以是以下值: 值 OPAQUE TRANSPARENT

描述

背景用当前背景色填充(默认)。

背景是透明的。

2.4.8setfont

这个函数用于设置当前字体样式。

voidsetfont(intnHeight,intnWidth,LPCTSTRlpszFace);

voidsetfont(intnHeight,intnWidth,LPCTSTRlpszFace,intnEscapement,intnOrientation,

intnWeight,boolbItalic,boolbUnderline,boolbStrikeOut);

voidsetfont(intnHeight,intnWidth,LPCTSTRlpszFace,intnEscapement,intnOrientation,

intnWeight,boolbItalic,boolbUnderline,boolbStrikeOut,

BYTEfbCharSet,BYTEfbOutPrecision,BYTEfbClipPrecision,BYTEfbQuality, BYTEfbPitchAndFamily);

voidsetfont(constLOGFONT*font);

参数:

nHeigh指定高度(逻辑单位)。

nWidth字符的平均宽度(逻辑单位)。如果为0,则比例自适应。 lpszFace字体名称。

nEscapement字符串的书写角度,单位0.1度。 nOrientation每个字符的书写角度,单位0.1度。

nWeight字符的笔画粗细,范围0~1000。0表示默认粗细。使用数字或下表中定义的宏均可:

宏 FW_DONTCARE

FW_THIN FW_EXTRALIGHT

FW_ULTRALIGHT

FW_LIGHT

00

300

4400

FW_MEDIUM

00 FW_SEMIBOLD

FW_DEMIBOLD

FW_BOLD FW_EXTRABOLD

FW_ULTRABOLD

粗细值

0 100

200

2

FW_NORMAL

00 FW_REGULAR

56

00

600

700

800

800

FW_HEAVY FW_BLACK

900

900

bItalic是否斜体,true/false。 bUnderline是否有下划线,true/false。 bStrikeOut是否有删除线,true/false。 fbCharSet\\指定字符集(详见LOGFONT结构体)。

fbOutPrecision指定文字的输出精度(详见LOGFONT结构体)。 fbClipPrecision指定文字的剪辑精度(详见LOGFONT结构体)。 fbQuality指定文字的输出质量(详见LOGFONT结构体)。

fbPitchAndFamily指定以常规方式描述字体的字体系列(详见LOGFONT结构体)。 font指向LOGFONT结构体的指针。 示例:

//设置当前字体为高16像素的“宋体”。 setfont(16,0,\宋体\outtextxy(0,0,\测试\//设置输出效果为抗锯齿 LOGFONTf;

getfont(&f);//获取当前字体设置 f.lfHeight=48;//设置字体高度为48

strcpy(f.lfFaceName,\黑体\设置字体为“黑体” f.lfQuality=ANTIALIASED_QUALITY;//设置输出效果为抗锯齿 setfont(&f);//设置字体样式 outtextxy(0,50,\抗锯齿效果\2.4.9textheight

这个函数用于获取字符串实际占用的像素高度。 inttextheight(LPCTSTRstr); inttextheight(TCHARc); 参数:

Str指定的字符串指针。 c指定的字符。 返回值:

该字符串实际占用的像素高度。 2.4.10textwidth

这个函数用于获取字符串实际占用的像素宽度。 inttextwidth(LPCTSTRstr); inttextwidth(TCHARc);

参数:

str指定的字符串指针。 c指定的字符。 返回值:

该字符串实际占用的像素宽度。 2.5图像处理相关函数 2.5.1相关函数和数据如下: 函数或数据 IMAGE loadimage saveimage getimage putimage GetWorkingImage

SetWorkingImage

Resize GetImageBuffer

GetImageHDC 2.5.1getimage

这个函数用于从当前绘图设备中获取图像。 //从当前绘图设备获取图像

voidgetimage(IMAGE*pDstImg,intsrcX,intsrcY,intsrcWidth,intsrcHeight); 参数:

pDstImg保存图像的IMAGE对象指针。 srcX要获取图像区域的左上角x坐标。 srcY要获取图像区域的左上角y坐标。 srcWidth要获取图像区域的宽度。 srcHeight要获取图像区域的高度。 示例:

请参考putimage函数示例。 2.5.2GetImageBuffer

这个函数用于获取绘图设备的显存指针。

描述

保存图像的对象。 读取图片文件。

保存绘图内容至图片文件。 从当前绘图设备中获取图像。 在当前绘图设备上绘制指定图像。

获取指向当前绘图设备的指针。

旋转IMAGE中的绘图内容。 设定当前绘图设备。 调整指定绘图设备的尺寸。 获取绘图设备的显存指针。 获取绘图设备句柄。

rotateimage

DWORD*GetImageBuffer(IMAGE*pImg=NULL); 参数:

pImg绘图设备指针。如果为NULL,表示默认的绘图窗口。 返回值:

返回绘图设备的显存指针。 说明:

获取到的显存指针可以直接读写。

在显存中,每个点占用4个字节,因此:显存的大小=宽度×高度×4(字节)。像素点在显存中按照从左到右、从上向下的顺序依次排列。访问显存请勿越界,否则会造成难以预料的后果。

显存中的每个点对应RGBTRIPLE类型的结构体:

structRGBTRIPLE{BYTErgbtBlue;BYTErgbtGreen;BYTErgbtRed;}

RGBTRIPLE在内存中的表示形式为:0xrrggbb(bb=蓝,gg=绿,rr=红),而常用的COLORREF在内存中的表示形式为:0xbbggrr。注意,两者的红色和蓝色是相反的,请用BGR宏交换红色和蓝色。

如果操作绘图窗口的显存,请在操作完毕后,执行FlushBatchDraw()使操作生效。 示例:

以下代码通过直接操作显存绘制渐变的蓝色: #include #include voidmain() {

//初始化绘图窗口 initgraph(640,480); //获取指向显存的指针

DWORD*pMem=GetImageBuffer(); //直接对显存赋值

for(inti=0;i<640*480;i++)

pMem[i]=BGR(RGB(0,0,i*256/(640*480)));

//使显存生效(注:操作指向IMAGE的显存不需要这条语句) FlushBatchDraw(); //按任意键退出 getch(); closegraph(); }

2.5.3GetImageHDC

这个函数用于获取绘图设备句柄(HDC)。 HDCGetImageHDC(IMAGE*pImg=NULL);


EasyX指导手册(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:六(上)《比的认识》集体评课

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: