视觉错觉(2)

转载请标明地址:http://www.cnblogs.com/wangmengmeng/

效果图:

源代码:

 1 #include <graphics.h>
 2 #include <conio.h>
 3 
 4 //定义常量
 5 #define UNIT 24
 6 #define OFFSET_X 116
 7 #define OFFSET_Y 36
 8 
 9 //画装饰画
10 void DraawUint(int x,int y,int shape)
11 {
12     //设置颜色
13     int n=((shape&1)?1:0)+((shape&2)?1:0)+((shape&4)?1:0);
14     setlinecolor((n%2==1)?0xaa00cc:WHITE);
15 
16     //画枝干
17     line(x-5,y,x+5,y);
18     line(x,y-5,x,y+5);
19 
20     //画叶子
21     rectangle(x-1,y-4,x+1,y-2);
22     rectangle(x-1,y+2,x+1,y+4);
23     rectangle(x-4,y-1,x-2,y+1);
24     rectangle(x+2,y-1,x+4,y+1);
25 }
26 void main()
27 {
28     //创建绘图窗体
29     initgraph(640,480);
30     //设置白色背景
31     setbkcolor(WHITE);
32     cleardevice();
33     //设置坐标原点
34     setorigin(OFFSET_X,OFFSET_Y);
35     int x,y;
36 
37     //画格子背景
38     for(y=0;y<17;y++)
39         for(x=0;x<17;x++){
40             setfillcolor(((x+y)%2)?0x83be3e:0x01dcaa);
41             solidrectangle(x*UNIT,y*UNIT,(x+1)*UNIT-1,(y+1)*UNIT-1);
42         }
43 
44     //画装饰花
45     for(y=0;y<16;y++){
46         int shape=8-y%8;
47         for(x=0;x<16;x++)
48             DraawUint((x+1)*UNIT,(y+1)*UNIT,shape++);
49     }
50 
51     //按任意键退出
52     getch();
53     closegraph;
54 }

来自:C语言程序设计经典236例

原文地址:https://www.cnblogs.com/wangmengmeng/p/4715437.html