《Windows C 图形程序设计》

教学演示 3.3

JXYS3.3 用矩形、椭圆函数绘制图形

  JXYX.CPP JXYX.EXE

 1.语句

  1) 绘制矩形和圆形
   矩形紫色边框线
   hPen=CreatePen(fnPenStyle,nPenWidth,crPenColor);
   SelectObject(hdc,hPen);
   Rectangle(hdc,int(x0-395),int(y0-245),int(x0+395),int(y0+245));

   四边小圆框
   for(x=x0-370;x<x0+360;x+=15)
   {
   y=y0-220;
   Ellipse(hdc,int(x),int(y),int(x+20),int(y+20));
   }

   中心圆形
   for(x=x0-300;x<x0+300;x+=200)
   {
   y=y0-100;
   Ellipse(hdc,int(x),int(y),int(x+200),int(y+200));
   }

  1.1) 绘制水平和垂直轴线
   for(y=y0-220;y<y0+220;y+=0.01)
   {
   for(x=x0;x<x0+2;x++)
   {
   SetPixel(hdc,int(x),int(y),RGB(0,255,0));
   }
   }

 2)  绘制左窗口边框和扫描刷新窗口
   for(x=x01-184;x<x01+184;x+=0.01)
   {
   for(y=y0-220;y<y0-218;y++)
   {
   SetPixel(hdc,int(x),int(y),RGB(255,0,255));
   }
   }

   for(y=y0-214;y<y0+214;y+=0.3)
   {
   for(x=x01-178;x<x01+178;x++)
   {
   SetPixel(hdc,int(x),int(y),RGB(0,180,180));
   }
   }

 3)  绘制右窗口边框和扫描刷新窗口
   for(x=x02-184;x<x02+184;x+=0.01)
   {
   for(y=y0-220;y<y0-218;y++)
   {
   SetPixel(hdc,int(x),int(y),RGB(0,255,0));
   }
   }

   for(x=x02-178;x<x02+178;x+=0.2)
   {
   for(x=x01-178;x<x01+178;x++)
   {
   SetPixel(hdc,int(x),int(y),RGB(255,0,0));
   }
   }

 4) 绘制右窗口矩形和圆形

 5)输出左窗口文本 DrawText
   TextOut(hdc, 90,int(y0-180),"Windows C 图形程序设计",22);
   TextOut(hdc, 50,int(y0-150),"1. 用点函数黄绿青色水平垂直扫描刷新全屏",39);
   TextOut(hdc, 50,int(y0-120),"2. 绘制矩形和圆形",17);
   TextOut(hdc, 50,int(y0+90), "3. 绘制小窗口边框和扫描刷新小窗口",33);
   TextOut(hdc, 50,int(y0+120),"4. 绘制右窗口矩形和圆形",23);
   TextOut(hdc, 50,int(y0+150),"5. 输出左窗口文本",17);
   TextOut(hdc,150,int(y0+180),"佛山 谢山水 2003.5.5.",21);

 2.程序源代码 JXYX.CPP

 3.程序可执行文件 JXYX.EXE

 4.程序运行结果图形