|
"\u003Cdiv\u003E\u003Cp\u003E\u003Cstrong\u003E常用的图形库函数:\u003C\u002Fstrong\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Cstrong\u003E1.图形化环境: \u003C\u002Fstrong\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Cstrong\u003E \u003C\u002Fstrong\u003E可在\"EssyX_Help.chm\"帮助文档中\"绘图环境相关函数\"中查看.\u003C\u002Fp\u003E\u003Cp\u003E\u003Cstrong\u003E \u003C\u002Fstrong\u003E#include \u002F\u002F 头文件.\u003C\u002Fp\u003E\u003Cp\u003E HWND initgraph(int width, int height, int flag = NULL); \u002F\u002F 初始化图形环境,设置图形终端的大小.\u003C\u002Fp\u003E\u003Cp\u003E 参数 : width : 实参传递的是窗口的宽度,单位是像素.\u003C\u002Fp\u003E\u003Cp\u003E height : 实参传递的是窗口的高度,单位是像素.\u003C\u002Fp\u003E\u003Cp\u003E flag : 默认填NULL,根据需要会有修改.\u003C\u002Fp\u003E\u003Cp\u003E 返回值: 创建的绘图窗口的句柄,不做了解.\u003C\u002Fp\u003E\u003Cp\u003E void closegraph(); \u002F\u002F 关闭图形环境.\u003C\u002Fp\u003E\u003Cp\u003E \u003Cstrong\u003E 2.通过学习画圆的几个函数,初步认识图形库:\u003C\u002Fstrong\u003E\u003C\u002Fp\u003E\u003Cp\u003E 可在\"EssyX_Help.chm\"帮助文档中\"图形绘制相关函数\"中查看.\u003C\u002Fp\u003E\u003Cp\u003E #include \u003C\u002Fp\u003E\u003Cp\u003E void circle (int x, int y, int radius); \u002F\u002F 画圆\u003C\u002Fp\u003E\u003Cp\u003E void fillcircle (int x, int y, int radius); \u002F\u002F 画填充圆(有边框)\u003C\u002Fp\u003E\u003Cp\u003E void solidcircle (int x, int y, int radius); \u002F\u002F 画填充圆(无边框)\u003C\u002Fp\u003E\u003Cp\u003E 参数: x : 传递的实参是圆心横坐标,单位像素.\u003C\u002Fp\u003E\u003Cp\u003E y : 传递的实参是圆心纵坐标(往下),单位像素.\u003C\u002Fp\u003E\u003Cp\u003E radius : 传递的实参是圆的半径,单位像素.\u003C\u002Fp\u003E\u003Cp\u003E \u003Cstrong\u003E3.设置线条及填充部分颜色:\u003C\u002Fstrong\u003E\u003C\u002Fp\u003E\u003Cp\u003E 可在\"EssyX_Help.chm\"帮助文档中\"图形颜色及样式设置相关函数\"中查看.\u003C\u002Fp\u003E\u003Cp\u003E #include \u003C\u002Fp\u003E\u003Cp\u003E void setlinecolor(COLORREF color); \u002F\u002F 设置当前线条颜色\u003C\u002Fp\u003E\u003Cp\u003E void setfillcolor(COLORREF color); \u002F\u002F 设置当前填充颜色\u003C\u002Fp\u003E\u003Cp\u003E void settextcolor(COLORREF color); \u002F\u002F 设置当前文字颜色\u003C\u002Fp\u003E\u003Cp\u003E 参数 : solor : 实参传递的是预定义颜色常量.常量值在\"帮助文档\"中\"基本概念\"的\"颜色\"中查找.\u003C\u002Fp\u003E\u003Cp\u003E \u003Cstrong\u003E 4.图像处理函数:\u003C\u002Fstrong\u003E\u003C\u002Fp\u003E\u003Cp\u003E 可在\"EssyX_Help.chm\"帮助文档中\"图像处理相关函数\"中查看.\u003C\u002Fp\u003E\u003Cp\u003E 1.从资源文件获取图像(bmp\u002Fgif\u002Fjpg\u002Fpng\u002Ftif\u002Femf\u002Fwmf\u002Fico) : 需将图片加载进入资源文件中.\u003C\u002Fp\u003E\u003Cp\u003E #include \u003C\u002Fp\u003E\u003Cp\u003E void loadimage(IMAGE *pDstImg,LPCTSTR pResType,LPCTSTR pResName,int nWidth = 0,int nHeight = 0,bool bResize = false);\u003C\u002Fp\u003E\u003Cp\u003E 参数 : pDstImg : IMAGE对象指针变量.\u003C\u002Fp\u003E\u003Cp\u003E 使用方法: 定义一个IMAGE对象变量\"IMAGE img;\"然后对img取地址(&img)作为实参传递.\u003C\u002Fp\u003E\u003Cp\u003E pResType : 资源类型(L\"图片的大写后缀\").\u003C\u002Fp\u003E\u003Cp\u003E pResName : 资源名称.使用MAKEINTRESOURCE(IDB_PLAYER)进行传参.\u003C\u002Fp\u003E\u003Cp\u003E nWidth : 图片拉伸宽度.\u003C\u002Fp\u003E\u003Cp\u003E nHeight : 图片拉伸高度.\u003C\u002Fp\u003E\u003Cp\u003E bResize : 是否调整IAMGE的大小以适应图片.false表示\"否\",true表示\"是\".\u003C\u002Fp\u003E\u003Cp\u003E 2.绘制图像:\u003C\u002Fp\u003E\u003Cp\u003E #include \u003C\u002Fp\u003E\u003Cp\u003E void putimage(int dstX, int dstY, const IMAGE *pSrcImg, DWORD dwRop = SRCCOPY); \u002F\u002F 绘制图像到屏幕\u003C\u002Fp\u003E\u003Cp\u003E 参数: dstX : 实参传递的是图片绘制的起始横坐标.\u003C\u002Fp\u003E\u003Cp\u003E sdtY : 实参传递的是图片绘制的起始纵坐标.\u003C\u002Fp\u003E\u003Cp\u003E pSrcImg : 图形对象指针变量.实参传递的是一个图形对象的地址(&img).\u003C\u002Fp\u003E\u003Cp\u003E dwRop : 一般使用默认值SRCCOPY.\u003C\u002Fp\u003E\u003Cp\u003E \u003Cstrong\u003E5.文字相关函数:\u003C\u002Fstrong\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Cstrong\u003E \u003C\u002Fstrong\u003E1.在指定位置输出字符串\u003C\u002Fp\u003E\u003Cp\u003E #include \u003C\u002Fp\u003E\u003Cp\u003E void outtextxy(int x, int y, LPCTSTR str); \u003C\u002Fp\u003E\u003Cp\u003E 参数: x : 传递的实参是字符串输出的起始横坐标,单位像素.\u003C\u002Fp\u003E\u003Cp\u003E y : 传递的实参是字符串输出的起始纵坐标,单位像素.\u003C\u002Fp\u003E\u003Cp\u003E str : 要输出的字符串,用L\"****\"形式表示.\u003C\u002Fp\u003E\u003Cp\u003E 代码演示......\u003C\u002Fp\u003E\u003Cp\u003E 2.设置文字输出时的背景模式.\u003C\u002Fp\u003E\u003Cp\u003E void setbkmode(int mode); \u003C\u002Fp\u003E\u003Cp\u003E 参数 : mode : OPAQUE : 背景用当前背景色填充.\u003C\u002Fp\u003E\u003Cp\u003E TRANSPARENT : 背景是透明的.\u003C\u002Fp\u003E\u003Cp\u003E 3.设置字体颜色.\u003C\u002Fp\u003E\u003Cp\u003E void settextcolor(COLORREF color); \u003C\u002Fp\u003E\u003Cp\u003E 参数 : color : 实参传递的是预定义颜色常量.常量值在\"帮助文档\"中\"基本概念\"的\"颜色\"中查找.\u003C\u002Fp\u003E\u003Cp\u003E void settextstyle(int nHeight, int nWidth, LPCTSTR lpszFace); \u003C\u002Fp\u003E\u003Cp\u003E 4.设置字体样式:\u003C\u002Fp\u003E\u003Cp\u003E void settextstyle(int nHeight, int nWidth, LPCTSTR lpszFace);\u003C\u002Fp\u003E\u003Cp\u003E 参数 : nHeight : 实参传递的是字体的高度.\u003C\u002Fp\u003E\u003Cp\u003E nWidth : 实参传递的是字体的宽度.\u003C\u002Fp\u003E\u003Cp\u003E lpszFace : 实参传递的是字体的名称,比如 L\"楷体\".\u003C\u002Fp\u003E\u003Cp\u003E \u003Cstrong\u003E 6.鼠标相关函数:\u003C\u002Fstrong\u003E\u003C\u002Fp\u003E\u003Cp\u003E #include \u003C\u002Fp\u003E\u003Cp\u003E MOUSEMSG GetMouseMsg(); \u002F\u002F获取一个鼠标消息,如果当前鼠标消息队列中没有,就一直等待.\u003C\u002Fp\u003E\u003Cp\u003E 返回值 : 返回保存有鼠标消息的结构体变量.\u003C\u002Fp\u003E\u003Cp\u003E 结构体变量需要自定义: MOUSEMSG msg;\u003C\u002Fp\u003E\u003Cp\u003E struct MOUSEMSG\u003C\u002Fp\u003E\u003Cp\u003E {\u003C\u002Fp\u003E\u003Cp\u003E UINT uMsg; \u002F\u002F 当前鼠标消息\u003C\u002Fp\u003E\u003Cp\u003E bool mkCtrl; \u002F\u002F Ctrl 键是否按下\u003C\u002Fp\u003E\u003Cp\u003E bool mkShift; \u002F\u002F Shift 键是否按下\u003C\u002Fp\u003E\u003Cp\u003E bool mkLButton; \u002F\u002F 鼠标左键是否按下\u003C\u002Fp\u003E\u003Cp\u003E bool mkMButton; \u002F\u002F 鼠标中键是否按下\u003C\u002Fp\u003E\u003Cp\u003E bool mkRButton; \u002F\u002F 鼠标右键是否按下\u003C\u002Fp\u003E\u003Cp\u003E int x; \u002F\u002F 当前鼠标 x 坐标(物理坐标)\u003C\u002Fp\u003E\u003Cp\u003E int y; \u002F\u002F 当前鼠标 y 坐标(物理坐标)\u003C\u002Fp\u003E\u003Cp\u003E int wheel; \u002F\u002F 鼠标滚轮滚动值\u003C\u002Fp\u003E\u003Cp\u003E };\u003C\u002Fp\u003E\u003Cp\u003E uMsg:\u003C\u002Fp\u003E\u003Cp\u003E WM_LBUTTONDOWN 左键按下消息\u003C\u002Fp\u003E\u003Cp\u003E \u003Cstrong\u003E7.播放音乐:\u003C\u002Fstrong\u003Emp3格式\u003C\u002Fp\u003E\u003Cp\u003E #include \u003C\u002Fp\u003E\u003Cp\u003E #pragma comment(lib,\"winmm.lib\") \u002F\u002F添加库\u003C\u002Fp\u003E\u003Cp\u003E #define mciSendString mciSendStringW\u003C\u002Fp\u003E\u003Cp\u003E WINAPI mciSendStringW( _In_ LPCWSTR lpstrCommand, \u003C\u002Fp\u003E\u003Cp\u003E _Out_writes_opt_(uReturnLength) LPWSTR lpstrReturnString,\u003C\u002Fp\u003E\u003Cp\u003E _In_ UINT uReturnLength,\u003C\u002Fp\u003E\u003Cp\u003E _In_opt_ HWND hwndCallback\u003C\u002Fp\u003E\u003Cp\u003E );\u003C\u002Fp\u003E\u003Cp\u003E 使用方法: mciSendString(L\"命令 + mp3格式文件的路径\",0,0,0);\u003C\u002Fp\u003E\u003Cp\u003E 常使用的两个命令: open, play(repeat).\u003C\u002Fp\u003E\u003Cdiv class=\"pgc-img\"\u003E\u003Cimg src=\"http:\u002F\u002Fp3.pstatp.com\u002Flarge\u002Fpgc-image\u002F3a3fa413c8de4da8a2e4f15aff7f2223\" img_width=\"634\" img_height=\"232\" alt=\"C语言——图形库\" inline=\"0\"\u003E\u003Cp class=\"pgc-img-caption\"\u003E\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003Cpre\u003E看到这里相信很多学C的朋友对C的指针有了进一步了解,我自己便是一名学习了多年的C\u002FC++的老程序员,今年我回顾以往的经历,花了一个多月的时间整理了一套最适合2019小白学习的资料,从基础语法到实战项目,现在准备送给每一位C\u002FC++的小伙伴,如果想要获得的话可以关注我并且私信我:\"学习\",即可免费获取资料。欢迎各位来C\u002FC++哦!\u003Cbr\u003E\u003Cbr\u003E\u003C\u002Fpre\u003E\u003C\u002Fdiv\u003E"'.slice(6, -6), groupId: '6709439433747202564. k/ _% E- a, h7 ? `) W0 P
来源:https://www.toutiao.com/a6709439433747202564/6 d' b5 y o( P6 A: |7 m' w2 v
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |
|