具有特殊属性的线的绘制和文字生成

来源:百度知道 编辑:UC知道 时间:2024/05/29 10:24:00
1、 利用任意一种直线绘制方法,实现有宽度的线、虚线、点划线、的绘制。将一个闭合多边形的的各顶点坐标顺序装入二维数组p[][2],通过循环调用你编制的具有特殊属性的画线函数,绘制多边形。也可以自行设计图形进行输出。
2、 利用任意一种直线绘制方法,实现点阵字符和矢量字符的绘制输出,每种字符不少于三个。

#include<graphics.h>
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
#include<math.h>

void DDALine(int x0,int y0,int x1,int y1,int color)
{
int i;
int a[8]={1,0,1,0,1,0,1,0,};
float dx,dy,length,x,y;
if(fabs(x1-x0)>=fabs(y1-y0))
length=fabs(x1-x0);
else
length=fabs(y1-y0);
dx=(x1-x0)/length;
dy=(y1-y0)/length;
i=1;
x=x0;
y=y0;
while(i<=length)
{ if(a[i/8]==1)
{putpixel(int(x+0.5),int(y+0.5),color); }
else
{putpixel(int(x+0.5),int(y+0.5),0);}
x=x+dx;
y=y+dy;
i++;
}
}
void DDALine1(int x0,int y0,int x1,int y1,int color)
{
int i,j;
float dx,dy,length,x,y;
if(fabs(x1-x0)>=fabs(y1-y0))
length=fabs(x1-x0);
else
length=fabs(y1-y0);
dx=(x1-x0)/length;
dy=(y1-y0)/length;
i=1;
x=x0;
y