C语⾔——图形库
常⽤的图形库函数:
1.图形化环境:
可在"EssyX_Help.chm"帮助⽂档中"绘图环境相关函数"中查看.
#include <esayx.h> // 头⽂件.
HWND initgraph(int width, int height, int flag = NULL); // 初始化图形环境,设置图形终端的⼤⼩. 参数 : width : 实参传递的是窗⼝的宽度,单位是像素.
height : 实参传递的是窗⼝的⾼度,单位是像素.
flag : 默认填NULL,根据需要会有修改.
返回值: 创建的绘图窗⼝的句柄,不做了解.
void closegraph(); // 关闭图形环境.
代码演⽰......
画图演⽰......
2.通过学习画圆的⼏个函数,初步认识图形库:
可在"EssyX_Help.chm"帮助⽂档中"图形绘制相关函数"中查看.
#include <easyx.h>
void circle (int x, int y, int radius); // 画圆
void fillcircle (int x, int y, int radius); // 画填充圆(有边框)
void solidcircle (int x, int y, int radius); // 画填充圆(⽆边框)
参数: x : 传递的实参是圆⼼横坐标,单位像素.
y : 传递的实参是圆⼼纵坐标(往下),单位像素.
radius : 传递的实参是圆的半径,单位像素.
编程演⽰......
3.设置线条及填充部分颜⾊:
可在"EssyX_Help.chm"帮助⽂档中"图形颜⾊及样式设置相关函数"中查看.
#include <easyx.h>
void setlinecolor(COLORREF color); // 设置当前线条颜⾊
void setfillcolor(COLORREF color); // 设置当前填充颜⾊
void settextcolor(COLORREF color); // 设置当前⽂字颜⾊
参数 : solor : 实参传递的是预定义颜⾊常量.常量值在"帮助⽂档"中"基本概念"的"颜⾊"中查.
代码演⽰......
4.图像处理函数:
可在"EssyX_Help.chm"帮助⽂档中"图像处理相关函数"中查看.
1.从资源⽂件获取图像(bmp/gif/jpg/png/tif/emf/wmf/ico) : 需将图⽚加载进⼊资源⽂件中.
#include <easyx.h>
void loadimage(IMAGE *pDstImg,LPCTSTR pResType,LPCTSTR pResName,int nWidth = 0,int nHeight = 0,bool bResize = false);
参数 : pDstImg : IMAGE对象指针变量.
使⽤⽅法: 定义⼀个IMAGE对象变量"IMAGE img;"然后对img取地址(&img)作为实参传递.
pResType : 资源类型(L"图⽚的⼤写后缀").
pResName : 资源名称.使⽤MAKEINTRESOURCE(IDB_PLAYER)进⾏传参.
nWidth : 图⽚拉伸宽度.
nHeight : 图⽚拉伸⾼度.
bResize : 是否调整IAMGE的⼤⼩以适应图⽚.false表⽰"否",true表⽰"是".
2.绘制图像:
#include <easyx.h>
void putimage(int dstX, int dstY, const IMAGE *pSrcImg, DWORD dwRop = SRCCOPY); // 绘制图像到屏幕
参数: dstX : 实参传递的是图⽚绘制的起始横坐标.
sdtY : 实参传递的是图⽚绘制的起始纵坐标.
pSrcImg : 图形对象指针变量.实参传递的是⼀个图形对象的地址(&img).
dwRop : ⼀般使⽤默认值SRCCOPY.
5.⽂字相关函数:
1.在指定位置输出字符串
#include <easyx.h>
void outtextxy(int x, int y, LPCTSTR str);
参数: x : 传递的实参是字符串输出的起始横坐标,单位像素.
y : 传递的实参是字符串输出的起始纵坐标,单位像素.
str : 要输出的字符串,⽤L"****"形式表⽰.
代码演⽰......
2.设置⽂字输出时的背景模式.
void setbkmode(int mode);
参数 : mode : OPAQUE : 背景⽤当前背景⾊填充.
TRANSPARENT : 背景是透明的.
3.设置字体颜⾊.
void settextcolor(COLORREF color);
参数 : color : 实参传递的是预定义颜⾊常量.常量值在"帮助⽂档"中"基本概念"的"颜⾊"中查.
void settextstyle(int nHeight, int nWidth, LPCTSTR lpszFace);
4.设置字体样式:
void settextstyle(int nHeight, int nWidth, LPCTSTR lpszFace);
参数 : nHeight : 实参传递的是字体的⾼度.
nWidth : 实参传递的是字体的宽度.
lpszFace : 实参传递的是字体的名称,⽐如 L"楷体".
6.⿏标相关函数:
#include <easyx.h>
MOUSEMSG GetMouseMsg(); //获取⼀个⿏标消息,如果当前⿏标消息队列中没有,就⼀直等待. 返回值 : 返回保存有⿏标消息的结构体变量.
结构体变量需要⾃定义: MOUSEMSG msg;
struct MOUSEMSG
{
UINT uMsg; // 当前⿏标消息
bool mkCtrl; // Ctrl 键是否按下
bool mkShift; // Shift 键是否按下
bool mkLButton; // ⿏标左键是否按下
bool mkMButton; // ⿏标中键是否按下
bool mkRButton; // ⿏标右键是否按下
int x; // 当前⿏标 x 坐标(物理坐标)
int y; // 当前⿏标 y 坐标(物理坐标)
int wheel; // ⿏标滚轮滚动值
write的返回值};
uMsg:
WM_LBUTTONDOWN 左键按下消息
7.播放⾳乐:mp3格式
#include <mciapi.h>
#pragma comment(lib,"winmm.lib") //添加库
#define mciSendString mciSendStringW
WINAPI mciSendStringW( _In_ LPCWSTR lpstrCommand,
_Out_writes_opt_(uReturnLength) LPWSTR lpstrReturnString,
_In_ UINT uReturnLength,
_In_opt_ HWND hwndCallback
);
使⽤⽅法: mciSendString(L"命令 + mp3格式⽂件的路径",0,0,0);
常使⽤的两个命令: open, play(repeat).
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论