一个C++利用easyX库显示一条慢速画斜线的程序案例

#include<iostream>
using namespace std;
#include<string>
#include<math.h>
#include<graphics.h>
#define NUM 500  //画线时分的步骤数

//慢速画直线函数,参数包括起始、终点坐标和每步骤间隔时间
void LINE(int x1,int y1,int x2,int y2,int SLEEP)
{
    int x_;
    int y_;
    for(int i=0;i<=NUM;i++)
    {
        x_=(float)x2*i/500;//float是关键,否则在i值较小时,坐标值都是0,线段无动作
                               //如果显示的是曲线的话此处计算要复杂一些
        y_=(float)y2*i/500;
        //cout<<"X2="<<X2<<"-----"<<"X2="<<Y2<<endl; 调试过程可以看一下坐标数据
        line(x1,y1,x_,y_);
        Sleep(SLEEP);
    }
 }

int main()
{
    initgraph(1024,780,1); //初始化一个1024*780的窗口
    setorigin((int)getwidth()/2,(int)getheight()/2); //将窗口中心确定为原点并将Y轴方向调整为向上
    setaspectratio(1,-1); //并将Y轴方向调整为向上
    //慢速画线LINE(int x1,int y1,int x2,int y2,int SLEEP)
    setlinecolor(YELLOW); //坐标轴线颜色设定微黄
    setlinestyle(0,3); //坐标轴线型为实线,线宽3个像素
    line(0,0,0,getheight()/2*0.75); //以窗口高度一半的75%为长度画出Y轴
    for(int i=0;i<(getheight()/2*0.75)/30;i++) //在Y轴上每隔30个像素画一刻度线
       {line(0,i*30,10,i*30);};
    line(0,0,(getwidth()/2)*0.75,0);//以窗口高度一半的75%为长度画出X轴
    for(int i=0;i<(getwidth()/2*0.75)/30;i++)  //画轴刻度线
       {line(i*30,0,i*30,10);};
    settextcolor(YELLOW);//将文字颜色设置同坐标轴颜色
    setaspectratio(1,1);//自定义的Y轴方向显示文字是反的,先调整回来,y值也要加-号
    outtextxy(0,-(getheight()/2*0.75+20),L"Y");//字符串前加L或选多字符集,否则报错
    setaspectratio(1,-1);//重新设置回去
    outtextxy(getwidth()/2*0.75+15,0,L"X");
    setlinecolor(RED);//将画线颜色调整为红色
    LINE(0,0,300,250,50);//调用慢画线函数画一条斜线
                         //初始坐标0,0 终点坐标300,250、间隔毫秒数50
    system("pause");//防止闪退
    closegraph();
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值