计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

DOS真彩色模式下真彩色图像显示技术毕业(6)

2015-06-03 01:35
导读:getch(); free(wordptr); free(pic); free(pic) ; free(pic); } // 24位PCX真彩色图像全息显示函数 void truecolor(void) { register int i, j; unsigned char *pic, *p0,*p1,*p2; unsigned char page,

getch();
free(wordptr); free(pic);
free(pic) ; free(pic);
}
// 24位PCX真彩色图像全息显示函数
void truecolor(void)
{ register int i, j;
unsigned char *pic, *p0,*p1,*p2;
unsigned char page, picdata;
int n,m,k,cnt,total;
unsigned long segmet;
SetVesaMode(0x112);
map();
Selectpage(0);
n=min(480,height);
m=min(640,width);
for (k=0; k<3; k++)
pic=(unsigned char *)malloc(m);
p0=pic; p1=pic; p2=pic;
fseek(fp,0x80L,SEEK-SET);
for(i=0; ipic=p0; pic=p1; pic=p2;
for (j=0;j<3;j++) {
total = 0;
while(total < m) {
cnt = 1;
picdata = fgetc(fp);
if(0xc0==(0xc0 & picdata)) {
cnt = 0x3f & picdata;
picdata = fgetc(fp);
for (k=0; k*pic++ =picdata;
}
else
*pic++ =picdata;
total+=cnt;
}
}
pic=p0; pic=p1; pic=p2;
for (j=0;j<3*(m-1);j+=3) {
segmet=addr+j;
page=segmet>>16;
if (segmet <= 65535L) {
for (k=0; k<3; k++)
pokeb(0xa000, addr+j+k, *pic++);
}
else {
Selectpage(page);
for (k=0; k<3; k++)
pokeb(0xa000, addr+j+k, *pic++);
}
}
}
getch();
for (k=0; k<3; k++) free(pic);
}

参考文献

1.张一波.Super VGA与VESA编程指南.北京:海洋出版社,1993.8

2.张益明.微机图像文件格式大全(续篇).北京:学苑出版社,1994.7

上一篇:DOS下DSP播音的编程毕业论文 下一篇:没有了