C语言绘画示例-进度条


C语言绘图示例-进度条

各种应用程序、应用软件启动时都有装载进度显示的进度条。媒体播放器也有提示播放进度的进度条。还有打开网页时有名的”转呀转呀”的进度显示环形图。

本人喜欢自制进度条,体验绘画的乐趣,感到很有成就感。试制了几款进度条,今将绘图方法分享给大家,希望大家喜欢。

我空余时在安卓手机上用myspringc语言编写的C语言绘图示例,可供喜欢的朋友参考。我编制的这个进度条示例程序最大的优点是可以演示动态显示进度条过程,颇具观赏性。

MySpringC不仅可以编写简单的C语言程序,而且它能读取手机中各种传感器的数值,控制各种多媒体设备,从而实现让普通用户用C语言控制手机,编写出意想不到的、适合自己使用的应用。

以下是源码:(附示例图)
//  最简单的 C 语言编程
//  myspringc  v2.7  可编译安卓本机 app 应用
//  此样例可复制黏贴到 myspringc  编译
//  此文档可用 VB,VC  ,  java 改写
//***************************************
//****      C语言绘图示例-进度条        *******
//***************************************
Canvas cs ;     //画布
string sBarDes[10];
int nBarId[10];
string sMenu[50];
int nMenu[50];
float src[4];  //ClearDraw (cls) clear screen
string fname;  //filename,load picture
string s,ss,ss1,ss2,ss3;
int sx,sy,dx,dy;
 int size[2];
int i,j,d;
int n,t,k;    //t=times,n=number
int sn;    //mode number
 int r1,g1,b1;     //16m 全色调色板
float x0,y0,x1,y1;
float px,py,sx1,sy1,sx2,sy2;
float pi=3.1415926535;
double L,a;
int sec,min;
string s$,m$;

main(){
setDisplay(1);
  cs.SetBackground(150,150,150);
  cs.Active();

   sBarDes[0]="演  示";
   nBarId[0]=100;
   sBarDes[1]="上一例 ";
   nBarId[1]=101;
   sBarDes[2]="下一例 ";
   nBarId[2]=102;
   sBarDes[3]="  ";
   nBarId[3]=103;
   sBarDes[4]="退出程序";
   nBarId[4]=104;
   sBarDes[5]=" ";
   nBarId[5]=105;
   setToolBarHeight(6);
   setButtonTextSize(14);
   setToolBarBackgroundColor(255,192,192,192);
   setButtonColor(255,0,0,240);
   setButtonTextColor(255,255,255,0);
   setToolBar(100,myToolBarProc,sBarDes,nBarId,6);

  setTitle("C语言绘图示例   ");
  sn=17;     show_pad();     //程序启动时即时绘出
while (){}
  }//main ()

show_pad (){ //演示例序
    if (sn==1) bar1 ();
    if (sn==2) bar2 ();
    if (sn==3) bar3 ();
    if (sn==4) bar4 ();
    if (sn==5) bar5 ();
    if (sn==6) bar6 ();
    if (sn==7) bar7 ();
    if (sn==8) bar8 ();
    if (sn==9) bar9 ();
    if (sn==10) bar10 ();
    if (sn==11) bar11 ();
    if (sn==12) bar12 ();
    if (sn==13) bar13 ();
    if (sn==14) bar14 ();
    if (sn==15) bar15 ();
    if (sn==16) bar16 ();
    if (sn==17) bar17 ();
    if (sn==18) bar18 ();

}//show_pad ()

bar18(){
       cs.SetFillMode (1);//0不填色,1填色
           cs.SetStrokeWidth(2);
       cs.SetColor (255,50,50,50);  //background
       cs.DrawRect (0,600,720,900);
       cs.SetColor (255,150,150,150);
       cs.DrawRect (0,4,720,600);
        cs.SetTextSize (30);    
        cs.SetColor (255,250,250,0);
        cs.DrawText (" 绘制进度条示例 ",20,35);
        s=intToString (sn);
        ss="mode = "+s ;
        cs.DrawText (ss,550,35);
        cs.DrawText ("Loading......" ,100,350);
    for (i=0;i<202;i++){  //进度条框底色
         cs.SetColor (255,220,220,220);  
         cs.DrawCircle (i*2+113,385,20);   }
    for (i=0;i<201;i++){  //彩色底色
         cs.SetColor (255,255-i/2,i+50,120);
         cs.DrawCircle (i*2+113,385,18);    }
         cs.Update ();

   for (i=0;i<101;i++){  //进度条 (18)   
       cs.SetColor (255,240,240,240);    //mask
        cs.DrawCircle (i*4+111,385,12);   
   for (d=0;d<12;d++){   //变色珠
       cs.SetColor (255,255-d*6,150-d*6,0);
       cs.DrawCircle (i*4+115,385,12-d);     }
       if ((i-i/3*3)==0&&i>3) {
   for (j=0;j<5;j++){    //draw bar
        cs.SetColor (255,255-i*2,i*2+50,120);
        cs.DrawLine(i*4+95+j,377,i*4+90+j,393);    }   }

       cs.SetColor (255,150,150,150);  //clear
         cs.DrawRect(537,367,620,403) ;    
              n=(int)(i ) ;
               if(n<100) {k=15; }else{k=0 ;  }            
            ss=intToString (n)+" %" ;
          cs.SetColor (255,250,250,0);
          cs.SetTextSize (26);    
          cs.DrawText (ss,540+k,393);
             cs.Update ();     //显示绘出过程
             }
       cs.SetColor (255,150,150,150);  //clear text
       cs.DrawRect (100,300,320,358) ;
     cs.SetColor (255,250,250,80);
    cs.SetTextSize (40);    
    cs.DrawText (" 双色渐变进度条示例",110,530);
     cs.Update ();
}//bar18()

37dccc5c60a7448e91364a12f6145438.png

 

bar17(){
       cs.SetFillMode (1);//0不填色,1填色
  fname="/storage/emulated/0/m01.jpg";
  cs.DrawBitmap(fname,0,2);   //加底图
        cs.SetColor (255,120,30,0);   //底色
        cs.DrawRect (0,330,720,420);
            cs.SetStrokeWidth(1);
        cs.SetTextSize (26);    
        cs.SetColor (255,250,250,0);
        //cs.DrawText (" 绘制进度条示例 ",20,35);
    cs.DrawText ("音乐播放器>  北国之春 ",400,320);
    cs.DrawText ("演唱:千昌夫 ",400,345);

    s=intToString (sn);
        ss="mode = "+s ;
        cs.DrawText (ss,550,55);
        cs.DrawText ("Play......" ,120,360);
     for (i=0;i<202;i++){  //进度条框底色
         cs.SetColor (255,20,20,20);  
         cs.DrawCircle (i*2+113,385,3);   }
           cs.Update ();

    for (i=0;i<101;i++){  //进度条 (17)   
     cs.SetColor (255,120,30,0);    //mask
     cs.DrawRect (100,373,i*4+115,380);   
     cs.DrawRect (100,390,i*4+115,397 );   
        cs.SetColor(225,i*2+55,i+50,250);  // bar 
        cs.DrawCircle (i*4+117,385,9);    
        cs.SetColor (255,20,20,20);  
        cs.DrawCircle (i*4+117,385,5);     
  sleep (5);
       cs.SetColor (255,120,30,0);  //clear
         cs.DrawRect(537,367,620,403) ;    
         cs.DrawRect(30,367,99,403) ;    
             sec=(i*2)/60 ;   //show times
             min=(i*2)-sec*60;
             s$=intToString (sec);
             if (sec<10) s$="0"+s$;
             m$=intToString (min);
             if (min<10) m$="0"+m$;
             ss=s$+":"+m$;
          cs.SetColor (255,250,250,0);
          cs.SetTextSize (18);    
          cs.DrawText ("03:20",532,391);
          cs.DrawText (ss,56,391);
          cs.Update ();     //显示绘出过程
             }
     //  cs.SetColor (255,120,30,0);  //clear text
       //cs.DrawRect (100,300,320,367) ;
     cs.SetColor (255,250,250,80);
    cs.SetTextSize (40);    
    cs.DrawText (" 双色渐变进度条示例",160,530);
     cs.Update ();
}//bar17()

224c2b23d33942b6b25b9ee61ea2cd51.png

 

bar16(){
       cs.SetFillMode (1);//0不填色,1填色
           cs.SetStrokeWidth(2);
       cs.SetColor (255,50,50,50);  //background
       cs.DrawRect (0,600,720,900);
       cs.SetColor (255,150,150,150);
        cs.DrawRect (0,4,720,600);
        cs.SetTextSize (30);    
        cs.SetColor (255,250,250,0);
        cs.DrawText (" 绘制进度条示例 ",20,35);
        s=intToString (sn);
        ss="mode = "+s ;
        cs.DrawText (ss,550,35);
        cs.DrawText ("Loading......" ,290,450);
     //**** draw program bar
 L=70;
px=360;
py=300;
     cs.SetColor(225,250,250,250);   //底色
     cs.DrawCircle(px,py,90);
      cs.SetColor(225,240,240,240);   //底色
     cs.DrawCircle(px,py,88);
    cs.SetColor(225,220,220,220);
     cs.DrawCircle(px,py,51);
   for (i=0;i<201;i++){    // Draw "O"
       if ((i-i/10*10)==0) {
       for (j=0;j<6;j++){
          cs.SetStrokeWidth(6);
         a=pi/200*(j+i)*2;
          sx1=(float)(px+(L-15)*sin (a));
          sy1=(float)(py-(L-15)*cos (a));
          sx2=(float)(px+(L+14)*sin (a));
          sy2=(float)(py-(L+14)*cos (a));
     cs.SetColor(225,i*2-155,i+20,180);  //draw bar line
           cs.DrawLine (sx1,sy1,sx2,sy2);  }     }
  
         cs.SetColor(225,100,100,100);  //clear
         cs.DrawCircle(px,py,51);
              n=(int)(i/2) ;             
              if(n==100) {k=0; }else{k=10 ;  }            
              ss=intToString (n)+"%" ;
          cs.SetColor (255,250,250,0);
          cs.SetTextSize (24);    
          cs.DrawText (ss,330+k,309);
             cs.Update ();     //显示绘出过程
                }   //draw bar  
        cs.SetColor (255,150,150,150);  //clear text
        cs.DrawRect (270,400,450,460) ;
     cs.SetColor (255,250,250,80);
    cs.SetTextSize (40);    
    cs.DrawText (" 环形进度条示例",110,530);
     cs.Update ();
}//bar16()

53945ce21c9d4d0ca154933c0ad43251.png

 

bar15(){
       cs.SetFillMode (1);//0不填色,1填色
           cs.SetStrokeWidth(3);
       cs.SetColor (255,50,50,50);  //background
       cs.DrawRect (0,600,720,900);
       cs.SetColor (255,150,150,150);
        cs.DrawRect (0,4,720,600);
        cs.SetTextSize (30);    
        cs.SetColor (255,250,250,0);
        cs.DrawText (" 绘制进度条示例 ",20,35);
        s=intToString (sn);
        ss="mode = "+s ;
        cs.DrawText (ss,550,35);
        cs.DrawText ("Loading......" ,290,450);
     //**** draw program bar
 L=70;
px=360;
py=300;
     cs.SetColor(225,250,250,250);   //底色
     cs.DrawCircle(px,py,90);
      cs.SetColor(225,20,20,20);   //底色
     cs.DrawCircle(px,py,88);
    cs.SetColor(225,240,240,240);
     cs.DrawCircle(px,py,51);
   for (i=0;i<201;i++){    // Draw "O"
          a=pi/200*i*2;
          sx1=(float)(px+(L-15)*sin (a));
          sy1=(float)(py-(L-15)*cos (a));
          sx2=(float)(px+(L+14)*sin (a));
          sy2=(float)(py-(L+14)*cos (a));
     cs.SetColor(225,i+55,i+20,180);  //draw bar line
           cs.DrawLine (sx1,sy1,sx2,sy2);
  
         cs.SetColor(225,240,240,240);  //clear
         cs.DrawCircle(px,py,51);
              n=(int)(i/2) ;             
              if(n==100) {k=0; }else{k=10 ;  }            
              ss=intToString (n)+"%" ;
          cs.SetColor (255,250,20,0);
          cs.SetTextSize (24);    
          cs.DrawText (ss,330+k,309);
             cs.Update ();     //显示绘出过程
                }   //draw bar  
        cs.SetColor (255,150,150,150);  //clear text
        cs.DrawRect (270,400,450,460) ;
     cs.SetColor (255,250,250,80);
    cs.SetTextSize (40);    
    cs.DrawText (" 环形进度条示例",110,530);
     cs.Update ();
}//bar15()

1c2868497dde41ce859a7eabac241db6.png

 

bar14(){
       cs.SetFillMode (1);//0不填色,1填色
           cs.SetStrokeWidth(1);
       cs.SetColor (255,50,50,50);  //background
       cs.DrawRect (0,600,720,900);
       cs.SetColor (255,150,150,150);
        cs.DrawRect (0,4,720,600);
        cs.SetTextSize (30);    
        cs.SetColor (255,250,250,0);
        cs.DrawText (" 绘制进度条示例 ",20,35);
        s=intToString (sn);
        ss="mode = "+s ;
        cs.DrawText (ss,550,35);
        cs.DrawText ("Loading......" ,290,450);
     //**** draw program bar
 L=70;
px=360;
py=300;
     cs.SetColor(225,20,20,20);   //底色
     cs.DrawCircle(px,py,88);
     cs.SetColor(225,240,240,240);
     cs.DrawCircle(px,py,51);
     cs.SetFillMode (0);//0不填色,1填色
     cs.SetColor(225,200,200,200);   //底色
     cs.DrawCircle(px,py,82);
      cs.SetFillMode (1);//0不填色,1填色
   for (i=0;i<201;i++){    // Draw "O"
          a=pi/200*i*2;
          sx1=(float)(px+L*sin (a));
          sy1=(float)(py-L*cos (a));
        cs.SetColor(225,i+55,i+10,150);
        cs.DrawCircle(sx1,sy1,13);
        cs.SetColor(225,250,20,50);
        cs.DrawCircle(sx1,sy1,9);

         cs.SetColor(225,240,240,240);  //clear
         cs.DrawCircle(px,py,51);
              n=(int)(i/2) ;             
              if(n==100) {k=0; }else{k=10 ;  }            
              ss=intToString (n)+"%" ;
          cs.SetColor (255,250,20,0);
          cs.SetTextSize (24);    
          cs.DrawText (ss,330+k,309);
             cs.Update ();     //显示绘出过程
                }   //draw bar  
        cs.SetColor (255,150,150,150);  //clear text
        cs.DrawRect (270,400,450,460) ;
     cs.SetColor (255,250,250,80);
    cs.SetTextSize (40);    
    cs.DrawText (" 环形进度条示例",110,530);
     cs.Update ();
}//bar14()

3ac2233ae8b54c00b841b900045f3d80.png

 

bar13(){
       cs.SetFillMode (1);//0不填色,1填色
           cs.SetStrokeWidth(2);
       cs.SetColor (255,50,50,50);  //background
       cs.DrawRect (0,600,720,900);
       cs.SetColor (255,150,150,150);
        cs.DrawRect (0,4,720,600);
        cs.SetTextSize (30);    
        cs.SetColor (255,250,250,0);
        cs.DrawText (" 绘制进度条示例 ",20,35);
        s=intToString (sn);
        ss="mode = "+s ;
        cs.DrawText (ss,550,35);
        cs.DrawText ("Loading......" ,290,450);
     //**** draw program bar
 L=70;
px=360;
py=300;
   cs.SetColor(225,200,200,200);   //底色
     cs.DrawCircle(px,py,90);
   cs.SetColor(225,240,240,240);
     cs.DrawCircle(px,py,50);

    for (i=0;i<201;i++){    // Draw "O"
         a=pi/200*i*2;
         sx1=(float)(px+L*sin (a));
         sy1=(float)(py-L*cos (a));
        cs.SetColor(225,i+50,200-i,i);
        cs.DrawCircle(sx1,sy1,13);
        cs.SetColor(225,250,200,50);
        cs.DrawCircle(sx1,sy1,9);

         cs.SetColor(225,240,240,240);  //clear
         cs.DrawCircle(px,py,50);
              n=(int)(i/2) ;             
              if(n==100) {k=0; }else{k=10 ;  }            
              ss=intToString (n)+"%" ;
          cs.SetColor (255,250,20,0);
          cs.SetTextSize (24);    
          cs.DrawText (ss,330+k,309);
             cs.Update ();     //显示绘出过程
                }   //draw bar  
        cs.SetColor (255,150,150,150);  //clear text
        cs.DrawRect (270,400,450,460) ;
     cs.SetColor (255,250,250,80);
    cs.SetTextSize (40);    
    cs.DrawText (" 环形进度条示例",220,500);
     cs.Update ();
}//bar13()

05733c5d1f664066910a0812afd4bf54.png

 

bar12(){
       cs.SetFillMode (1);//0不填色,1填色
           cs.SetStrokeWidth(2);
       cs.SetColor (255,50,50,50);  //background
       cs.DrawRect (0,600,720,900);
       cs.SetColor (255,150,150,150);
        cs.DrawRect (0,4,720,600);
        cs.SetTextSize (30);    
        cs.SetColor (255,250,250,0);
        cs.DrawText (" 绘制进度条示例 ",20,35);
        s=intToString (sn);
        ss="mode = "+s ;
        cs.DrawText (ss,550,35);
        cs.DrawText ("LOADING......" ,100,350);
     for (i=0;i<202;i++){  //进度条框底色
        cs.SetColor (255,0,20,20);  
        cs.DrawCircle (i*2+112,384,19);   }
     for (i=0;i<202;i++){  //底色
       cs.SetColor (255,250,250,250);  
        cs.DrawCircle (i*2+114,385,19);   }
      for (i=0;i<202;i++){  //底色
       cs.SetColor (255,220,220,220);  
        cs.DrawCircle (i*2+113,384,18);   }
      for (i=0;i<201;i++){  //底色
       cs.SetColor (255,150,150,150);  
        cs.DrawCircle (i*2+113,385,5);   }

           cs.Update ();
    for (i=0;i<201;i++){  //进度条 (12)     
           cs.SetColor (255,220,220,220);  //mask
        cs.DrawOval (i*2+112,385,9,13,0);  

       cs.SetColor (255,55+i,10+i,150);
       cs.DrawCircle (i*2+110,385,8);  
      cs.SetColor (255,55,10,50);
    //   cs.DrawCircle (i*2+110,385,3);  

     for (d=0;d<12;d++){   //变色珠
          cs.SetColor (255,255-d*12,125,100);
         cs.DrawCircle (i*2+115,385,11-d);   }

         cs.SetColor (255,150,150,150);  //clear
         cs.DrawRect(537,367,620,403) ;
              n=(int)(i /2) ;
               if(n<100) {k=15; }else{k=0 ;  }            
            ss=intToString (n)+" %" ;
          cs.SetColor (255,250,250,0);
          cs.SetTextSize (26);    
          cs.DrawText (ss,540+k,393);
             cs.Update ();     //显示绘出过程
             }
        cs.SetColor (255,150,150,150);  //clear text
        cs.DrawRect (100,300,320,358) ;
     cs.SetColor (255,250,250,0);
    cs.SetTextSize (40);    
    cs.DrawText (" 双色渐变进度条示例",110,530);
     cs.Update ();
}//bar12()

e1b145b8b12846a8b8c4fcea34327030.png

 

bar11(){
       cs.SetFillMode (1);//0不填色,1填色
           cs.SetStrokeWidth(2);
       cs.SetColor (255,50,50,50);  //background
       cs.DrawRect (0,600,720,900);
       cs.SetColor (255,150,150,150);
        cs.DrawRect (0,4,720,600);
        cs.SetTextSize (30);    
        cs.SetColor (255,250,250,0);
        cs.DrawText (" 绘制进度条示例 ",20,35);
        s=intToString (sn);
        ss="mode = "+s ;
        cs.DrawText (ss,550,35);
        cs.DrawText ("LOADING......" ,100,350);
     for (i=0;i<202;i++){  //进度条框底色
        cs.SetColor (255,0,20,20);  
        cs.DrawCircle (i*2+112,384,19);   }
     for (i=0;i<202;i++){  //底色
       cs.SetColor (255,250,250,250);  
        cs.DrawCircle (i*2+114,385,19);   }
      for (i=0;i<202;i++){  //底色
       cs.SetColor (255,220,220,220);  
        cs.DrawCircle (i*2+113,384,18);   }
      for (i=0;i<201;i++){  //底色
       cs.SetColor (255,80,220,220);  
        cs.DrawCircle (i*2+113,385,3);   }

           cs.Update ();
    for (i=0;i<201;i++){  //进度条 (11) 
         cs.SetColor (255,255-i/2,i+50,120);
       cs.DrawCircle (i*2+113,385,9);  
        cs.SetColor (255,255-i/4,i+55,90);
       cs.DrawCircle (i*2+109,385,8);  
 
        cs.SetColor (255,220,220,220);  //mask
         cs.DrawOval (i*2+111,385,8,12,0);  
     for (d=0;d<12;d++){   //变色珠
     cs.SetColor (255,255-d*10,105,205);
         cs.DrawCircle (i*2+115,385,11-d);   }

         cs.SetColor (255,150,150,150);  //clear
         cs.DrawRect(537,367,620,403) ;
              n=(int)(i /2) ;
               if(n<100) {k=15; }else{k=0 ;  }            
            ss=intToString (n)+" %" ;
          cs.SetColor (255,250,250,0);
          cs.SetTextSize (26);    
          cs.DrawText (ss,540+k,393);
             cs.Update ();     //显示绘出过程
             }
        cs.SetColor (255,150,150,150);  //clear text
        cs.DrawRect (100,300,320,358) ;
     cs.SetColor (255,200,200,80);
    cs.SetTextSize (40);    
    cs.DrawText (" 双色渐变进度条示例",110,530);
     cs.Update ();
}//bar11()

8d7f6251772c4f10b76f332da0406c36.png

 

bar10(){
       cs.SetFillMode (1);//0不填色,1填色
           cs.SetStrokeWidth(2);
       cs.SetColor (255,50,50,50);  //background
       cs.DrawRect (0,600,720,900);
       cs.SetColor (255,250,250,250);
        cs.DrawRect (0,4,720,600);
        cs.SetTextSize (30);    
        cs.SetColor (255,20,20,140);
        cs.DrawText (" 绘制进度条示例 ",20,35);
        s=intToString (sn);
        ss="mode = "+s ;
        cs.DrawText (ss,550,35);
        cs.DrawText ("Loading......" ,100,350);
     for (i=0;i<202;i++){  //进度条框底色
        cs.SetColor (255,0,120,220);  
        cs.DrawCircle (i*2+113,385,19);   }
     for (i=0;i<202;i++){  //底色
       cs.SetColor (255,120,120,120);  
        cs.DrawCircle (i*2+113,385,17);   }
      for (i=0;i<201;i++){  //底色
       cs.SetColor (255,80,220,220);  
        cs.DrawCircle (i*2+113,385,3);   }
           cs.Update ();
    for (i=0;i<201;i++){  //进度条 (10) 
         cs.SetColor (255,255-i/2,i+50,120);
         cs.DrawCircle (i*2+113,385,9);  
        cs.SetColor (255,255-i/4,i+55,90);
         cs.DrawCircle (i*2+109,385,8);  
      cs.SetColor (255,0,120,120);
         cs.DrawCircle (i*2+110,385,7);  

        cs.SetColor (255,120,120,120);
         cs.DrawOval (i*2+111,385,8,12,0);  
     for (d=0;d<12;d++){   //变色珠
     cs.SetColor (255,255-d*10,255-d*10,255);
         cs.DrawCircle (i*2+115,385,11-d);   }

         cs.SetColor (255,250,250,250);  //clear
         cs.DrawRect(535,367,600,403) ;
              n=(int)(i /2) ;
              ss=intToString (n)+" %" ;
          cs.SetColor (255,250,20,20);
          cs.SetTextSize (26);    
          cs.DrawText (ss,540,393);
             cs.Update ();     //显示绘出过程
             }
        cs.SetColor (255,250,250,250);  //clear text
        cs.DrawRect (100,300,300,358) ;
     cs.SetColor (255,0,120,80);
    cs.SetTextSize (40);    
    cs.DrawText (" 双色渐变进度条示例",110,530);
     cs.Update ();
}//bar10()

1774a05e15a84b9695a68506bedbb0d2.png

 

bar9(){
       cs.SetFillMode (1);//0不填色,1填色
           cs.SetStrokeWidth(2);
       cs.SetColor (255,50,50,50);  //background
       cs.DrawRect (0,600,720,900);
       cs.SetColor (255,250,250,250);
        cs.DrawRect (0,4,720,600);
        cs.SetTextSize (30);    
        cs.SetColor (255,20,20,140);
        cs.DrawText (" 绘制进度条示例 ",20,35);
        s=intToString (sn);
        ss="mode = "+s ;
        cs.DrawText (ss,550,35);
        cs.DrawText ("Loading......" ,100,350);
        cs.SetColor (255,120,120,120);  
    for (i=0;i<202;i++){  //进度条框底色
        cs.SetColor (255,0,120,220);  
        cs.DrawCircle (i*2+113,385,19);   }
     for (i=0;i<202;i++){  //底色
       cs.SetColor (255,220,220,220);  
        cs.DrawCircle (i*2+113,385,17);   }
      for (i=0;i<201;i++){  //底色
       cs.SetColor (255,80,120,220);  
       cs.DrawCircle (i*2+113,385,4);     }
           cs.Update ();

    for (i=0;i<201;i++){  //进度条 (9) 
        cs.SetColor (255,255-i/5,i+50,120);
        cs.DrawCircle (i*2+113,380,4);  
        cs.SetColor (255,255-i,i/2+50,120);
        cs.DrawCircle (i*2+114,386,8);  
        cs.SetColor (255,255-i/2,i+50,120);
        cs.DrawCircle (i*2+112,385,6);  
        cs.SetColor (255,250,20,20);  
        cs.DrawCircle (i*2+113,385,5); 
     cs.SetColor (255,250,250,250);  //clear
         cs.DrawRect(535,367,600,403) ;
              n=(int)(i /2) ;
              ss=intToString (n)+" %" ;
          cs.SetColor (255,250,20,20);
          cs.SetTextSize (26);    
          cs.DrawText (ss,540,393);
             cs.Update ();     //显示绘出过程
             }
        cs.SetColor (255,250,250,250);  //clear text
        cs.DrawRect (100,300,300,358) ;
     cs.SetColor (255,0,120,80);
    cs.SetTextSize (40);    
    cs.DrawText (" 双色渐变进度条示例",110,530);
     cs.Update ();
}//bar9()

6729ae99337a4e408fe6551ed2b64d23.png

 

bar8(){
       cs.SetFillMode (1);//0不填色,1填色
           cs.SetStrokeWidth(2);
       cs.SetColor (255,50,50,50);  //background
       cs.DrawRect (0,600,720,900);
       cs.SetColor (255,250,250,250);
        cs.DrawRect (0,4,720,600);
        cs.SetTextSize (30);    
        cs.SetColor (255,20,20,140);
        cs.DrawText (" 绘制进度条示例 ",20,35);
        s=intToString (sn);
        ss="mode = "+s ;
        cs.DrawText (ss,550,35);
        cs.DrawText ("Loading......" ,100,350);
        cs.SetColor (255,120,120,120);  
    for (i=0;i<202;i++){  //进度条框底色
        cs.SetColor (255,0,120,220);  
        cs.DrawCircle (i*2+113,385,19);   }
     for (i=0;i<202;i++){  //底色
       cs.SetColor (255,220,220,220);  
        cs.DrawCircle (i*2+113,385,17);   }
      for (i=0;i<201;i++){  //底色
       cs.SetColor (255,80,120,220);  
        cs.DrawCircle (i*2+113,385,5);   }
           cs.Update ();
    for (i=0;i<201;i++){  //进度条 (8) 
         cs.SetColor (255,255-i/2,i+50,120);
         cs.DrawCircle (i*2+113,385,9);  
        cs.SetColor (255,255-i ,i+55,90);
         cs.DrawCircle (i*2+110,385,7);  
       cs.SetColor (255,255,0,0);
         cs.DrawCircle (i*2+113,385,5);  

         cs.SetColor (255,250,250,250);  //clear
         cs.DrawRect(535,367,600,403) ;
              n=(int)(i /2) ;
              ss=intToString (n)+" %" ;
          cs.SetColor (255,250,20,20);
          cs.SetTextSize (26);    
          cs.DrawText (ss,540,393);
             cs.Update ();     //显示绘出过程
             }
        cs.SetColor (255,250,250,250);  //clear text
        cs.DrawRect (100,300,300,358) ;
     cs.SetColor (255,0,120,80);
    cs.SetTextSize (40);    
    cs.DrawText (" 双色渐变进度条示例",110,530);
     cs.Update ();
}//bar8 ()

fcf5ce7e830c4511a1eb7aac114b3429.png

 

bar7(){
       cs.SetFillMode (1);//0不填色,1填色
           cs.SetStrokeWidth(2);
       cs.SetColor (255,50,50,50);  //background
       cs.DrawRect (0,600,720,900);
       cs.SetColor (255,250,250,250);
        cs.DrawRect (0,4,720,600);
        cs.SetTextSize (30);    
        cs.SetColor (255,20,20,140);
        cs.DrawText (" 绘制进度条示例 ",20,35);
        s=intToString (sn);
        ss="mode = "+s ;
        cs.DrawText (ss,550,35);
        cs.DrawText ("Loading......" ,100,350);
        cs.SetColor (255,120,120,120);  
    for (i=0;i<202;i++){  //进度条框底色
        cs.SetColor (255,0,120,220);  
        cs.DrawCircle (i*2+113,385,19);   }
     for (i=0;i<202;i++){  //底色
       cs.SetColor (255,220,220,220);  
        cs.DrawCircle (i*2+113,385,17);   }
      for (i=0;i<201;i++){  //底色
       cs.SetColor (255,80,120,220);  
        cs.DrawCircle (i*2+113,385,5);   }
           cs.Update ();
    for (i=0;i<201;i++){  //进度条 (7) 
         cs.SetColor (255,255-i/2,i+50,120);
         cs.DrawCircle (i*2+113,385,9);  
        cs.SetColor (255,255-i ,i+55,90);
         cs.DrawCircle (i*2+110,385,7);  

         cs.SetColor (255,250,250,250);  //clear
         cs.DrawRect(535,367,600,403) ;
              n=(int)(i /2) ;
              ss=intToString (n)+" %" ;
          cs.SetColor (255,250,20,20);
          cs.SetTextSize (26);    
          cs.DrawText (ss,540,393);
             cs.Update ();     //显示绘出过程
             }
        cs.SetColor (255,250,250,250);  //clear text
        cs.DrawRect (100,300,300,358) ;
     cs.SetColor (255,0,120,80);
    cs.SetTextSize (40);    
    cs.DrawText (" 三色渐变进度条示例",110,530);
     cs.Update ();
}//bar7 ()

bd9d750d4b944559824d9bc2e95518b4.png

 

bar6(){
       cs.SetFillMode (1);//0不填色,1填色
           cs.SetStrokeWidth(2);
       cs.SetColor (255,50,50,50);  //background
       cs.DrawRect (0,600,720,900);
       cs.SetColor (255,250,250,250);
        cs.DrawRect (0,4,720,600);
        cs.SetTextSize (30);    
        cs.SetColor (255,50,50,100);
        cs.DrawText (" 绘制进度条示例 ",20,35);
        s=intToString (sn);
        ss="mode = "+s ;
        cs.DrawText (ss,550,35);
        cs.DrawText ("Loading......" ,290,420);
     //**** draw program bar
 L=60;
px=360;
py=300;
t=0;
replay:      //
   for (i=-2;i<201;i++){    // Draw "O"
       if ((i-i/4*4)==0) {
         cs.SetStrokeWidth(3);
         a=pi/200*(j+i)*2;
          sx1=(float)(px+(L-17)*sin (a));
          sy1=(float)(py-(L-17)*cos (a));
          sx2=(float)(px+(L+12)*sin (a));
          sy2=(float)(py-(L+12)*cos (a));
     cs.SetColor(225,i*2+55,i+50,160);  //draw bar line
           cs.DrawLine (sx1,sy1,sx2,sy2);  }   //  } 
         cs.SetColor(225,250,250,250);  //clear
         cs.DrawCircle(px,py,40);
              n=i/10+t*20 ;             
              if(n==100) {k=0; }else{k=10 ;  }            
              ss=intToString (n)+"%" ;
          cs.SetColor (255,20,150,100);
          cs.SetTextSize (24);    
          cs.DrawText (ss,330+k,309);
             cs.Update ();     //显示绘出过程
                }   //draw bar  
      if (n<100){
         cs.SetColor(225,250,250,250);  //clear
         cs.DrawCircle(px,py,90);    }
 t=t+1;        
if (t<5) goto replay;     //replay 5 times
        cs.SetColor (255,250,250,250);  //clear text
        cs.DrawRect (270,390,450,460) ;
     cs.SetColor (255,250,50,50);
    cs.SetTextSize (30);    
    cs.DrawText (" 环形进度条示例",255,500);
     cs.Update ();
}//bar6()

34af97153b3843098fbebe198e229a83.png

 

bar5(){
       cs.SetFillMode (1);//0不填色,1填色
           cs.SetStrokeWidth(2);
       cs.SetColor (255,50,50,50);  //background
       cs.DrawRect (0,600,720,900);
       cs.SetColor (255,250,250,250);
        cs.DrawRect (0,4,720,600);
        cs.SetTextSize (30);    
        cs.SetColor (255,20,20,140);
        cs.DrawText (" 绘制进度条示例 ",20,35);
        s=intToString (sn);
        ss="mode = "+s ;
        cs.DrawText (ss,550,35);
        cs.DrawText ("Loading......" ,100,350);
        cs.SetColor (255,120,120,120);  
    for (i=0;i<202;i++){  //底色
        cs.SetColor (255,0,0,0);  
        cs.DrawCircle (i*2+113,385,19);   }
     for (i=0;i<202;i++){  //底色
       cs.SetColor (255,220,220,220);  
        cs.DrawCircle (i*2+113,385,17);   }
            cs.Update ();
    for (i=0;i<201;i++){  //进度条 (5) 
         cs.SetColor (255,255-i/2 ,i+50,120);
         cs.DrawCircle (i*2+113,385,13);  
         cs.SetColor (255,250,250,250);  //clear
         cs.DrawRect(535,367,600,403) ;
              n=(int)(i /2) ;
              ss=intToString (n)+" %" ;
          cs.SetColor (255,250,20,20);
          cs.SetTextSize (26);    
          cs.DrawText (ss,540,393);
             cs.Update ();     //显示绘出过程
             }
        cs.SetColor (255,250,250,250);  //clear text
        cs.DrawRect (100,300,300,358) ;
     cs.SetColor (255,0,120,80);
    cs.SetTextSize (40);    
    cs.DrawText (" 三色渐变进度条示例",110,530);
     cs.Update ();
}//bar5 ()

594b23c24d49400586b7385c88dd9c2e.png

 

bar4(){
       cs.SetFillMode (1);//0不填色,1填色
           cs.SetStrokeWidth(1);
       cs.SetColor (255,50,50,50);  //background
       cs.DrawRect (0,600,720,900);
       cs.SetColor (255,250,250,250);
        cs.DrawRect (0,4,720,600);
        cs.SetTextSize (30);   
        cs.SetColor (255,20,20,140);
        cs.DrawText (" 绘制进度条示例 ",20,35);
        s=intToString (sn);
        ss="mode = "+s ;
        cs.DrawText (ss,550,35);
        cs.DrawText ("Loading......" ,100,350);
        cs.SetFillMode (0);//0不填色,1填色
        cs.SetColor (255,50,50,50);    //框线
        cs.DrawRect (93,363,512,407) ;
        cs.Update ();
 
     for (i=0;i<51;i++){  //进度条 (4) 
     cs.SetFillMode (0);//0不填色,1填色
        cs.SetColor (255,20,200,10);
         cs.DrawRect (i*8+100,370,i*8+106,400);  
      cs.SetFillMode (1);//0不填色,1填色
        cs.SetColor (255,250,0,20);
         cs.DrawRect (i*8+102,372,i*8+105,399);  
      //sleep (10);
         cs.SetColor (255,250,250,250);  //clear
         cs.DrawRect (515,367,588,403) ;
              n=(int)(i *2) ;
              ss=intToString (n)+" %" ;
          cs.SetColor (255,250,20,20);
          cs.SetTextSize (26);    
          cs.DrawText (ss,525,395);
             cs.Update ();     //显示绘出过程
             }
        cs.SetColor (255,250,250,250);  //clear text
        cs.DrawRect (100,300,300,358) ;
     cs.SetColor (255,150,80,40);
    cs.SetTextSize (40);    
    cs.DrawText (" 双色条形进度条示例",110,530);
     cs.Update ();
}//bar4()

4cc46afdbb4841ceb3d2809f0ad41fa0.png

 

bar3(){
       cs.SetFillMode (1);//0不填色,1填色
           cs.SetStrokeWidth(1);
       cs.SetColor (255,50,50,50);  //background
       cs.DrawRect (0,600,720,900);
       cs.SetColor (255,250,250,250);
        cs.DrawRect (0,4,720,600);
        cs.SetTextSize (30);   
        cs.SetColor (255,20,20,140);
        cs.DrawText (" 绘制进度条示例 ",20,35);
        s=intToString (sn);
        ss="mode = "+s ;
        cs.DrawText (ss,550,35);
        cs.DrawText ("Loading......" ,100,350);
        cs.SetFillMode (0);//0不填色,1填色
        cs.SetColor (255,50,50,50);
        cs.DrawRect (93,363,512,407) ;
        cs.Update ();
 
     for (i=0;i<51;i++){  //进度条 (1) 
     cs.SetFillMode (1);//0不填色,1填色
        cs.SetColor (255,20,0,200);
         cs.DrawRect (i*8+100,370,i*8+106,400);  
        // sleep (10);
      cs.SetFillMode (1);//0不填色,1填色
        cs.SetColor (255,250,250,250);  //clear
         cs.DrawRect (515,367,588,403) ;
              n=(int)(i *2) ;
              ss=intToString (n)+" %" ;
          cs.SetColor (255,250,20,20);
          cs.SetTextSize (26);    
          cs.DrawText (ss,525,395);
             cs.Update ();     //显示绘出过程
             }
        cs.SetColor (255,250,250,250);  //clear text
        cs.DrawRect (100,300,300,358) ;
     cs.SetColor (255,150,80,40);
    cs.SetTextSize (40);    
    cs.DrawText (" 单色条形进度条示例",110,530);
     cs.Update ();
}//bar3()

88074ae1bbe34c5a8f8e77bbfe3f7d64.png

 

bar2(){
       cs.SetFillMode (1);//0不填色,1填色
           cs.SetStrokeWidth(2);
       cs.SetColor (255,50,50,50);  //background
       cs.DrawRect (0,600,720,900);
       cs.SetColor (255,250,250,250);
        cs.DrawRect (0,4,720,600);
        cs.SetTextSize (30);   
        cs.SetColor (255,20,20,140);
        cs.DrawText (" 绘制进度条示例 ",20,35);
        s=intToString (sn);
        ss="mode = "+s ;
        cs.DrawText (ss,550,35);
        cs.DrawText ("Loading......" ,100,350);
        cs.SetFillMode (0);//0不填色,1填色
        cs.SetColor (255,50,50,50);
        cs.DrawRect (93,365,508,405) ;
        cs.Update ();
 
     cs.SetFillMode (1);//0不填色,1填色
     for (i=0;i<201;i++){  //进度条 (2) 
        cs.SetColor (255,255-i/2,200-i,i);
         cs.DrawLine (i*2+100,370,i*2+100,400);  
         cs.SetColor (255,250,250,250);  //clear
         cs.DrawRect (512,367,588,403) ;
              n=(int)(i /2) ;
              ss=intToString (n)+" %" ;
          cs.SetColor (255,250,20,20);
          cs.SetTextSize (26);    
          cs.DrawText (ss,515,395);
             cs.Update ();     //显示绘出过程
             }
        cs.SetColor (255,250,250,250);  //clear text
        cs.DrawRect (100,300,300,358) ;
     cs.SetColor (255,150,80,40);
    cs.SetTextSize (40);    
    cs.DrawText (" 三色渐变进度条示例",110,530);
     cs.Update ();
}//bar2 ()

1d094cfea34648108d96d1af01c805e1.png

 

bar1(){
       cs.SetFillMode (1);//0不填色,1填色
           cs.SetStrokeWidth(2);
       cs.SetColor (255,50,50,50);  //background
       cs.DrawRect (0,600,720,900);
       cs.SetColor (255,220,220,220);
        cs.DrawRect (0,4,720,600);
        cs.SetTextSize (26);    
        cs.SetColor (255,20,20,140);
        cs.DrawText (" 绘制进度条示例 ",20,35);
        s=intToString (sn);
        ss="mode = "+s ;
        cs.DrawText (ss,550,35);
        cs.DrawText ("Loading......" ,100,350);
     cs.SetFillMode (0);//0不填色,1填色
        cs.SetColor (255,50,50,50);
        cs.DrawRect (93,365,508,405) ;

 //   cs.SetFillMode (1);//0不填色,1填色  
         cs.SetTextSize (48);    
         cs.SetTextStyle(1);    
  ss=" □□□□工资管理系统 ”;
         cs.SetColor (255,50,250,50);
          cs.DrawText (ss,100,150);
    cs.SetFillMode (1);//0不填色,1填色
       cs.SetColor (255,20,50,200);
          cs.DrawText (ss,100,150);

        cs.SetTextSize (26);    
    cs.SetColor (255,250,250,250);  
         cs.DrawRect (255,215,575,258);
     cs.SetColor (255,150,50,150);
 cs.DrawText ("User Name :  " ,110,250);
 cs.DrawText ("My Name " ,264,245);
     cs.SetColor (255,250,250,250);  
         cs.DrawRect (255,265,575,308);
     cs.SetColor (255,150,50,150);
 cs.DrawText ("Password :  " ,110,300);
 cs.DrawText ("*********  " ,264,300);

  //draw button 绘制渐变色按钮
  cs.SetColor (255,250,250,250);  
    cs.DrawRect (130,428,301,491);
    cs.DrawRect (350,428,521,491);
       for (i=1;i<60;i++){    //按钮渐变色
  cs.SetColor (255,250-i*4,240-i*3,200-i*3);  
      cs.DrawLine (132,430+i,300,430+i);  
      cs.DrawLine (352,430+i,520,430+i);  
          }    
     cs.SetColor(255,255,250,0);
      cs.SetTextStyle (0);
      cs.SetTextSize (32);
      cs.DrawText ("Log  in",165,467);
      cs.DrawText ("  Exit",387,467);
        cs.Update ();
       cs.SetFillMode (1);//0不填色,1填色
   for (i=0;i<201;i++){  //进度条 (3) 
         cs.SetColor (150,255-i,i+10,i);
         cs.DrawLine (i*2+100,370,i*2+100,400);  
         cs.SetColor (255,240,240,240);  //clear
         cs.DrawRect (512,367,590,403) ;
              n=(int)(i /2) ;
              ss=intToString (n)+" %" ;
          cs.SetColor (255,250,20,20);
          cs.SetTextSize (26);    
          cs.DrawText (ss,518,395);
             cs.Update ();     //显示绘出过程
             }
       cs.SetColor (255,220,220,220);  //clear text
       cs.DrawRect (100,320,300,358) ;
     cs.SetColor (255,240,120,80);
    cs.SetTextSize (36);    
    cs.DrawText (" 三色渐变进度条示例",80,550);
     cs.Update ();
}//bar1 ()

85b0daba47ed42a28a9ce29d409925a1.png

 

myToolBarProc(int nBtn,int nContext){
      if(nBtn==100){//演示
          cs.SetBackground(245,245,245);
          setDisplay (1);
          show_pad ();
                       }  
      if(nBtn==101){//mode+
            sn=sn-1;
            if (sn<1)sn=1;
            show_pad ();
            }
      if(nBtn==102){//mode -
            sn=sn+1;
            if (sn>20)sn=20;
            show_pad ();
             }
      if(nBtn==103){//显示图板
           setDisplay (1);
         }

      if(nBtn==104){//退出程序
         clearOutput();
         cs.ClearDraw (0,src);
         setDisplay (0);
          exit (0);
         }
     if(nBtn==105){// 
          setDisplay (1);
          //cover ();   
          }
}//myToolBar ()

 

//== End ==

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值