分享
 
 
 

几个图形(03)

王朝other·作者佚名  2008-06-01
窄屏简体版  字體: |||超大  

/*图形函数库图形设备治理头文件*/

/*graph.inc*/

union REGS reg; /*枚举变量定义*/

strUCt SREGS inreg;

void SetMode(int Mode) /*图形模式选择函数*/

{

reg.h.ah=0;

reg.h.al=Mode;

int86(0x10,&reg,&reg);

}

#define MaxXres 320 /*图形显示区大小定义*/

#define MaxYres 200

#define MaxX (MaxXres-1)

#define MaxY (MaxYres-1)

int Xres,Yres; /*数据存储单元定义*/

Word PreCalcY[MaxY+1];

Word PreCalcX[MaxX+1];

void PreCalc() /*计算数组初始化*/

{

Word j;

for(j=0;j<=MaxYlj++)

PreCalcX[j]=0;

for(j=0;j<=MaxX;j++)

PreCalcY[j]=MaxXres*j;

}

void Plot(int x,int y,char color) /*绘点函数*/

{

Word offset;

char far *address;

if(!((x<0)(y<0)(x>MaxX)(y>MaxY)))

{

offset=PreCalcY[y]+x;

address=(char far *)(0xA0000000L+offset);

*address=color;

}

}

typedef struct /*颜色定义*/

{

char Red;

char Grn;

char Blu;

}RGB;

typedef RGB PaletteRegister[255]; /*255色调色板定义*/

PaletteRegister Color;

void ClearPalette(aletteRegister Color) /*清除原调色板*/

{

Word i;

for(i=0;i<=255;i++)

{

Color[i].Red=0;

Color[i].Grn=0;

Color[i].Blu=0;

}

}

void SetPalette(PaletteRegister Hue) /*设置新调色板*/

{

reg.x.ax=0x1012;

segread(&inreg);

inreg.es=inreg.ds;

reg.x.bx=0;

reg.x.cx=256;

reg.x.dx=(int)&Hue[0];

int86x(0x10,&reg,&reg,&inreg);

}

void InitPaletteRegister Color) /*调色板初始化函数1*/

{

Word i;

for(i=0;i<64;i++){

Color[i].Red=i;

Color[i].Grn=i;

Color[i].Blu=i;

}

for(i=64;i<128;i++){

Color[i].Red=i-64;

Color[i].Grn=0;

Color[i].Blu=0;

}

for(i=128;i<192;i++){

Color[i].Red=0;

Color[i].Grn=i-128;

Color[i].Blu=0;

}

for(i=192;i<255;i++){

Color[i].Red=0;

Color[i].Grn=0;

Color[i].Blu=i-192;

}

}

void InitPalette2(PaletteRegister Color) /*调色板初始化函数2*/

{

Word i;

for(i=0;i<36;i++){

Color[i].Red=i;

Color[i].Grn=i;

Color[i].Blu=Round(i*1.8);

}

for(i=32;i<76;i++){

Color[i].Red=0;

Color[i].Grn=Round(1.8*(i-36));

Color[i].Blu=0;

}

for(i=72;i<108;i++){

Color[i].Red=0;

Color[i].Grn=Round(1.8*(i-72));

Color[i].Blu=Round(1.8*(i-72));

}

for(i=108;i<144;i++){

Color[i].Red=Round(1.8*(i-108));

Color[i].Grn=0;

Color[i].Blu=0;

}

for(i=144;i<180;i++){

Color[i].Red=Round(1.8*(i-144));

Color[i].Grn=0;

Color[i].Blu=Round(1.8*(i-144));

}

for(i=180;i<216;i++){

Color[i].Red=Round(1.8*(i-108));

Color[i].Grn=Round(1.8*(i-180));

Color[i].Blu=0;

}

for(i=216;i<252;i++){

Color[i].Red=Round(1.8*(i-216));

Color[i].Grn=Round(1.8*(i-216));

Color[i].Blu=Round(1.8*(i-216));

}

}

void CyclePalette(PaletteRegister Hue) /*调色板颜色选择函数*/

{

Word i;

RGB tmp;

tmp=Hue[0];

for(i=1;i<=255;i++)

Hue[i-1]=Hue[i];

Hue[255]=tmp;

SetPalette(Hue);

}

void Swap(int first,int second) /*交换功能子函数*/

{

int temp;

temp=*first;

*first=*second;

*second=temp;

}

void Circle(Word x,Word y,Word radius,char color) /*绘圆函数*/

{

int a,af,bf,target,r2;

target=0;

a=radius;

b=0;

r2=Sqr(radius);

while(a>=b){

b=Round(sqrt(r2-Sqr(a)));

swap(&target,&b);

while(b<target){

af=(120*a)/100;

bf=(120*b)/100;

Plot(x+af,y+b,color);

Plot(x+bf,y+a,color);

Plot(x+af,y+b,color);

Plot(x+bf,y+a,color);

Plot(x+af,y-b,color);

&nb

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有