• C++学习(八)(C语言部分)之 图形库


     

    有关图形库的学习笔记


    1.安装 ww.easys.cn

    2.创建win32控制台应用程序
    .cpp文件(图形库必须创建cpp文件) *重点

    3.安装好后 重启一下vs


    图形库
    是一些函数的集合 作用是做一些界面和鼠标操作
    函数-->帮助文档

    1.基本概念
    颜色 RGB值 -->RGB值表示一种颜色 RGB(255,250,250)-->snow 这个颜色 自己调颜色
    图形库自己定义的 BLACK
    路径问题 是指文件的路径 1.绝对路径 从盘符开始 可以直接找到文件
    2.相对路径

    指相对某个文件而言 res/text2.txt (相对路径用到比较多) 省略掉了当前文件夹的路径 分隔符//或者\ 在代码里要改过来
    设置问题--> 多字节的问题 点击项目文件的属性 把字符集改成使用多字节字符集 *重点

    outtextxy(320,240,"你好");
    -->不改多字节 outtextxy(320,240,L"你好");
    outtextxy(320,240,_T("你好"));//改或不改都可以
    outtextxy(320,240,TEXT("你好"));//改或不改都可以

    2.窗口
    界面 新建窗口
    initgraph 新建窗口函数
    closegraph 关闭窗口函数

    3.图形库的操作
    3.1 文字输入输出
    文字的输出 只能用于与字符串的输出 outtextxy(坐标x,坐标y,字符串/字符)
    设置字体颜色 settextcolor(YELLOW);
    设置字体大小和样式 settextstyle(40,0,"宋体");

    文字输入 InputBox getch
    设置背景颜色 setbkcolor
    清屏 cleardevice

    3.2 图形绘制
    setlinecolor(GREEN);//设置线的颜色
    setlinestyle(PS_DASHDOT,10);//画线:点杠线 第一个参数 线条样式 第二个参数 线条宽度
    线条样式如下:
    PS_SOLID 线形为实线。
    PS_DASH 线形为:------------
    PS_DOT 线形为:············
    PS_DASHDOT 线形为:-·-·-·-·-·-·
    PS_DASHDOTDOT 线形为:-··-··-··-··
    PS_NULL 线形为不可见。
    PS_USERSTYLE 线形样式为用户自定义,有参数 puserstyle 和 userstylecount 指定。

    line(100, 0, 200, 100); //画线 (100,0)(200,100)
    circle(200,100,20);//画圆: 空心圆形 线条是绿色 圆心=(200,100) 半径=20
    setfillcolor(BLUE);//设置填充颜色
    fillcircle(300,100,40);//画圆:实心圆 中间填充白色 边缘是绿色 圆心=(300,100) 半径=40
    solidcircle(400,100,50);//画圆: 实心圆 中间填充颜色 无边缘线 圆心=(400,100) 半径=50

    3.3 图像操作
    jpg或者bmp 格式的图片 只能是这两种
    IMAGEA 变量 存放图片
    loadimage和putimg

    3.4 鼠标操作


    4.音乐播放 (不属于图形库)


    **************我是分割线****************/

     

    #include<graphics.h> //图形库头文件
    #include<stdio.h>
    #include<conio.h>//getch

    int main()
    {
    //示例
    //char s[] = "hello world";
    //outtextxy(10,20,s);

    initgraph(640, 480);//创建窗口 640,480 是指窗口大小 单位是像素

    #if 0 //是一种注释 要运行时把0改为1 文字输入与输出
    setbkcolor(RGB(255,240,245));//设置背景颜色 或者里面直接输入BLUE
    cleardevice();//刷新屏幕 清空屏幕内容 清屏在设置背景颜色之后清屏 要注意位置 不能把其他内容清掉


    //1、输出
    settextcolor(YELLOW);//设置字体颜色
    settextstyle(40,0,"宋体");//设置字体和大小 40指字体高度 0指默认的字体宽度 宋体是指字体
    outtextxy(320,240,"hello world 你好中国!");//320指x轴320点 240指y轴240点 窗口中输出hello world你好中国! //outtextxy(320, 240, L"hello world 你好中国!");//不改多字节的写法

    //2、输入********InputBox(arr,20,"输入文字"); 用于输入一个字符串
    char arr[20];
    InputBox(arr,20,"输入文字");//输入内容 arr数组名 20是大小 后面是提示

    outtextxy(0, 0, arr);

    //3、输入一个字符 getch 头文件 conio.h 可用于游戏推箱子等等
    char ch = getch();//获取用户输入一个字符
    outtextxy(200,200,ch);//输出这个字符
    #endif

     

     

     

     

    #if 0 //图形绘制 例如五子棋棋盘 //system("cls");
    //画线 画圆
    setlinecolor(GREEN);//设置线的颜色
    setlinestyle(PS_DASHDOT,10);//第一个参数 线条样式 第二个参数 线条宽度
    /*线条样式如下:
    PS_SOLID 线形为实线。
    PS_DASH 线形为:------------
    PS_DOT 线形为:············
    PS_DASHDOT 线形为:-·-·-·-·-·-·
    PS_DASHDOTDOT 线形为:-··-··-··-··
    PS_NULL 线形为不可见。
    PS_USERSTYLE 线形样式为用户自定义,有参数 puserstyle 和 userstylecount 指定。

    */

    line(100, 0, 200, 100); //画线 (100,0)(200,100)

    circle(200,100,20);//画圆: 空心圆形 线条是绿色 圆心=(200,100) 半径=20

    setfillcolor(BLUE);//设置填充颜色
    fillcircle(300,100,40);//画圆:实心圆 中间填充白色 边缘是绿色 圆心=(300,100) 半径=40

    setfillcolor(RGB(64,224,208));//填充颜色
    solidcircle(400,100,50);//画圆: 实心圆 中间填充颜色 无边缘线 圆心=(400,100) 半径=50

    #endif

     

     

     

     

     


    IMAGE img;//定义变量 存放图片
    loadimage(&img,"a.jpg");//加载图片 IMAGE变量地址 第二个图片的路径(相对绝对都可以) 第三个第四个是加载的图片的大小(可以不管,按照图片原始大小加载)
    putimage(0,0,&img);//贴图 贴图位置(0,0)+贴图变量的地址
    //贴图的位置 坐标可以是负数
    //也可以直接将图片放到与,cpp文件同目录下 输入时直接写图片名称就可以了
    //图片贴不出来 先试试结对路径 绝对路径也不行那就是图片的问题 绝对路径可以 那就是相对路径写错了

     

     

    getchar();
    closegraph();//关闭窗口
    return 0;
    }

    //getch和getchar斗志获取字符串
    //但是getchar要按下回车才会有反应getch直接读取
    //#if 0 和 #endif 可以用来阻止运行 想要运行的时候把0改为1就行


    //加载ico文件 图标

     

     

     

    程序示例运行结果

     

     

     

     

    2018.05.22  22:03:44

  • 相关阅读:
    Lua实现的专栏
    Lua C#
    windows server 开机自动登录并锁定
    关于SQLSERVER2012版本远程登录问题
    处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”
    SQLServer安装正常服务启动正常却无法连接
    C#程序猿电脑重装记录
    installshield使用教程
    macbook安装win7
    mvc 开发razor模式注意事项
  • 原文地址:https://www.cnblogs.com/Yuuki-/p/9074408.html
Copyright © 2020-2023  润新知