<C> 图形库 - 2017/11/21

  图形课  easyx  graphics.h(头文件)

  下载地址:www.easyx.cn

 

  win32 控制台项目  创建cpp文件 (图形库只能用C++)

 

  1. 基本概念:  <颜色  路径  窗口>

        <颜色>  RGB --> Red()    Green()     Blue()   RGB(200,200,150);

            宏       16种颜色   BLACK

 

          <路径>  绝对路径 ->   I:\大数据JAVASE学习\day04-控制语句

             相对路径 ->   hieng.jpg 和 cpp在同级目录下

             ..\hieng\hieng.jpg 在上一级文件

           // 相对路径   如果直接运行exe      如果在项目里面运行  和cpp保持同目录

        窗口 --> 窗口 黑窗口   图形  自己的窗口

 

2. 文件输入输出:   项目-属性  改多字节字符集

    1.输出:

      输出:outtextxy  // 指定位置输出字符串

      设置字体颜色:settextcolor

      设置字体样式:settextstyle     先设置 然后输出

 

    2.输入:

      getch  在图形库中可以用   conio.h头文件   获取字符  char char = getch();

      如果要输入字符串   InputBox 弹窗口

      (一个汉字占两个字节)

3. 画图:

    // 图形

    circle          -> 只有边框

    fillcircle      -> 有边框 有填充

    solidcircle     -> 有填充 没有边框

 

代码块:

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

#include <mmsystem.h>
#pragma comment(lib,"winmm.lib")

int main()
{
    /* 创建一个窗口 */
    initgraph(640, 480);
    
#if 0
    /* 设置背景颜色 */
    setbkcolor(BLUE);   
    cleardevice();  //刷新屏幕

    /* 颜色 */
    //settextcolor(RGB(320, 540, 254));  // 用 RGB 调颜色
    settextcolor(GREEN);

    settextstyle(30, 0, "黑体");  // 设置字体样式(字体大小)  高度 宽度(为0 表示默认宽度)样式

    /* 打印 */
    outtextxy(0, 0, "你好!今天你那边天气如何?");

    char arr[20];
    InputBox(arr, 20, "输入文件", "确认输入");   // 输入
    // arr  输入内容存放的位置  20最大长度  文本  标题  
    
    outtextxy(300, 300, arr);    // 打印


    //printf_s("Hello World!");  // 之前输入输出都不能在这里面使用

#elif 0  // 画图
    /* 设置颜色 */
    setlinecolor(RED);
    setfillcolor(DARKGRAY);
    circle(210, 120, 60);  // 圆心坐标  +半径   左上
    fillcircle(300, 210, 60); // 左下(填充圆)
    solidcircle(500, 100, 60);  // 右上(填充圆)



#elif 0   // 贴图
    /**
    *    素材要求:jpg    bmp
    *    先定义变量存放  -->  IMAGE
    *    然后加载      --> loadimage
    *    最后贴图      --> putimage
    *
    *    贴不出来:  路径
    *                素材
    *
    *    素材路径:分隔 / 和 \\ 是一样的
    *    字符串里面:  转义字符  \\
    *    生成  exe之后如果想要运行exe就把图片放到一起
    */
    IMAGE img;
    loadimage(&img, "hieng.jpg", 640, 480);
    /**
    *   变量地址  图片路径  宽和高(可以不写  如果不写用图片大小)
    */
    putimage(0, 0, &img);


#elif 0 // 鼠标点击
    /**
    *    MOUSEGMSG  鼠标信息
    *    MOUSEHit   判断有没有鼠标信息
    *    GetMouseMsg 获取鼠标信息
    */
    IMAGE img;
    loadimage(&img, "hieng.jpg", 640, 480);

    rectangle(100, 100, 200, 200);  // 画一个矩形
    int x = 1;
    MOUSEMSG msg;    // 定义一个鼠标信息变量
    //if (MouseHit())  // 有就返回真  没有就返回假
    while (x)
    {
        msg = GetMouseMsg();    // 获取鼠标信息

        switch (msg.uMsg)   // 判断鼠标信息   <结构体>
        {
        case WM_LBUTTONDOWN:       // 左键按下
            if (100 <= msg.x <= 200 && 100 <= msg.y <= 200)
            {
                putimage(0, 0, &img);   // 打印图片
                x = 0;
            }
            break;
        case WM_RBUTTONDOWN:       // 右键按下
            break;
        default:
            break;
        }
    }

#elif 0  // 资源文件
    /**
    *     贴图:
    *          1.外部文件 exe  带图片
    *          2.资源文件  图片导入 exe
    */

#elif 1  // 播放音乐
    // mciSendString  可以播放: way  mp3
    // PlaySound  wav

    IMAGE img;
    loadimage(&img, "hieng.jpg", 640, 480);

    putimage(0, 0, &img);
    mciSendString("open Devotion.mp3", 0, 0, 0);
    mciSendString("play Devotion.mp3", 0, 0, 0);

    // alias bgm  加别名   别名
    // repeat  循环播放
#endif

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

 

posted @ 2017-12-22 10:47  让优秀成为一种习惯  阅读(282)  评论(0编辑  收藏  举报