目录
题目【64】:利用ellipse and rectangle 画图
以下题目的代码均可在VS上运行。注意源文件的后缀要为“.cpp”
题目【62】:学习putpixel画点
#include "stdio.h"
#include "graphics.h"
#include "conio.h"
int main()
{
int i, j;
initgraph(640, 680);
setbkcolor(YELLOW);
cleardevice();
for (i = 50;i <= 230;i += 20)
for (j = 50;j <= 230;j++)
putpixel(i, j, 1);
for (j = 50;j <= 230;j += 20)
for (i = 50;i <= 230;i++)
putpixel(i, j, 1);
_getch();
}
题目【63】:画椭圆ellipse
#include "stdio.h"
#include "graphics.h"
#include "conio.h"
int main()
{
int x = 360, y = 160;
int num = 20, i;
int top, bottom;
initgraph(640,680);
top = y - 30;
bottom = y - 30;
for (i = 0;i < num;i++)
{
ellipse(250, 250, 0, 360);
top -= 5;
bottom += 5;
}
_getch();
}
题目【64】:利用ellipse and rectangle 画图
#include "stdio.h"
#include "graphics.h"
#include "conio.h"
int main()
{
int i, num = 15, top = 50;
int left = 20, right = 50;
initgraph(640, 680);
for (i = 0;i < num;i++)
{
ellipse(250, 250, 0, 360);
ellipse(250, 250, 0, 360);
rectangle(20 - 2 * i, 20 - 2 * i, 10 * (i + 2), 10 * (i + 2));
right += 5;
left += 5;
top += 10;
}
_getch();
}
题目【65】:一个最优美的图案
#include "graphics.h"
#include "math.h"
#include "dos.h"
#include "conio.h"
#include "stdlib.h"
#include "stdio.h"
#include "stdarg.h"
#define MAXPTS 15
#define PI 3.1415926
struct PTS {
int x, y;
};
double AspectRatio = 0.85;
void LineToDemo(void)
{
//struct viewporttype vp;
struct PTS points[MAXPTS];
int i, j, h, w, xcenter, ycenter;
int radius, angle, step;
double rads;
printf(" MoveTo / LineTo Demonstration");
//getviewsettings(&vp);
//h = vp.bottom - vp.top;
//w = vp.right - vp.left;
h = 400;w = 600;
xcenter = w / 2; /* Determine the center of circle */
ycenter = h / 2;
radius = (h - 30) / (AspectRatio * 2);
step = 360 / MAXPTS; /* Determine # of increments */
angle = 0; /* Begin at zero degrees */
for (i = 0; i < MAXPTS; ++i) { /* Determine circle intercepts */
rads = (double)angle * PI / 180.0; /* Convert angle to radians */
points[i].x = xcenter + (int)(cos(rads) * radius);
points[i].y = ycenter - (int)(sin(rads) * radius * AspectRatio);
angle += step; /* Move to next increment */
}
circle(xcenter, ycenter, radius); /* Draw bounding circle */
for (i = 0; i < MAXPTS; ++i) { /* Draw the cords to the circle */
for (j = i; j < MAXPTS; ++j) { /* For each remaining intersect */
moveto(points[i].x, points[i].y); /* Move to beginning of cord */
lineto(points[j].x, points[j].y); /* Draw the cord */
}
}
}
int main()
{
initgraph(640, 580);
setcolor(3);
setbkcolor(GREEN);
cleardevice();
LineToDemo();
system("pause");
return 0;
}