使用CImg.h编写一个简单的接口

时间:2018-03-07 11:00:54

标签: c++ cimg

#include "stdafx.h"
#include "CImg.h"
#include <iostream>
#include "windows.h"
#include <string>


using namespace cimg_library;
using std::cin;
using std::cout;

int main(){


    CImg <unsigned char> window(600, 500, 1, 3, 1);   //定义一个 长600px 宽500px 深 1px 的图
       // 3 代表色彩通道数,Red,Green,Blue RGB 三色就是 3 
    window.fill(1);
    unsigned char purple[] = { 255, 0, 255 };

    window.draw_text(100, 100, "GOD", purple);  //在坐标 100,100 处,画一个紫色的GOD

    CImg<unsigned char> img(200, 200, 1, 3, 0);   // 定义一个2d 的图

    const unsigned char color[] = { 255, 128, 64 };  //定义一个颜色

    char a,b,c;
    cout << "you want to draw a line?(Y/N) " << std::endl;
    cin >> a;
    if (a == 'Y'){
        img.draw_line(40, 40, 80, 70, color);   // draw_line 画线 起始点(40,40) -> 终点(80,70) 两个点, color 颜色
        img.display("draw_line");

    }
    else{
        cout << "OK, You dont want to do that" << std::endl;
    }

    cout << "Another line?(Y/N)" << std::endl;
    cin >> b;
    if (b == 'Y'){
        img.draw_line(80, 70, 100, 110, color);   // draw_line 画线 起始点(80,70) -> 终点(100,110) 两个点, color 颜色
        img.display("draw_line");
    }
    else{
        cout << "OK, You dont want to do that" << std::endl;
    }

    cout << "Another line?(Y/N)" << std::endl;
    cin >> c;
    if (c == 'Y'){
        img.draw_line(100, 110, 120, 190, color);   // draw_line 画线 起始点(80,70) -> 终点(100,110) 两个点, color 颜色
        img.display("draw_line");
    }
    else{
        cout << "OK, You dont want to do that" << std::endl;
    }




    system("pause");
    // window.display("My first CImg Code");  //窗口标题



    return 0;
}

这是我的代码,它可以很好地构建。 说到img.draw_line(); 我们必须关闭CImg的窗口,以便它可以跳到下一个短语,我可以跳过那个吗? 我的目标是编写一个c ++项目来解释Logo语言。 只想像龟画一样做。我刚开始测试CImg.h

0 个答案:

没有答案