为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

DOS真彩色模式下真彩色图像显示技术_第2页 fread(

2017-09-27 7页 doc 21KB 9阅读

用户头像

is_014457

暂无简介

举报
DOS真彩色模式下真彩色图像显示技术_第2页 fread(DOS真彩色模式下真彩色图像显示技术_第2页 fread( DOSÕæ?ÊÉ?Ä?Ê?ÏÂÕæ?ÊÉ?Í?ÏñÏÔÊ???Êõ_µÚ2Ò? fread( (char *) &header, 1, sizeof(PCXHEAD), fp); width = header.bytes-perline; height = header.ymax - header.ymin + 1; printf("Image information: Width=%d, Height=%d",width,h eight); if ...
DOS真彩色模式下真彩色图像显示技术_第2页  fread(
DOS真彩色模式下真彩色图像显示技术_第2页 fread( DOSÕæ?ÊÉ?Ä?Ê?ÏÂÕæ?ÊÉ?Í?ÏñÏÔÊ???Êõ_µÚ2Ò? fread( (char *) &header, 1, sizeof(PCXHEAD), fp); width = header.bytes-perline; height = header.ymax - header.ymin + 1; printf("Image information: Width=%d, Height=%d",width,h eight); if ((header.bits-perpixel==8)&&(header.color-planes==3) ) { printf(" Type : 24bits RGB true colors"); printf("1...Emulating display 16M true color image with 64K high color"); printf("2...Display of 16M true color image"); printf("Press select 1 or 2 : "); if ((c=getch())=='1') { highcolor(); SetVesaMode(0x03); } else if (c=='2') { truecolor(); SetVesaMode(0x03); } else { printf("This is not high-color & true-color image !") ; exit(1); } } fclose(fp); return 0; } // ÉèÖÃVESA BIOSÀ?Õ?Ä?Ê?º?Êý void SetVesaMode(unsigned int mode) { union REGS r; unsigned int setmode=1; r.x.ax=0x4f02; r.x.bx=mode; int86(0x10,&r,&r); if (r.x.ax!=0x4f) setmode=0; else VesaInfo(mode); Curpage=0xffff; return(setmode); } // ?µ?ØVESA?à?ÌÐÅÏ?º?Êý void VesaInfo(unsigned int mode) { union REGS r; struct SREGS sr; r.x.cx=mode; r.x.ax=0x4f01; sr.es =FP-SEG(&modeinfo); r.x.di=FP-OFF(&modeinfo); int86x(0x10,&r,&r,&sr); Wingran =modeinfo.wingran; Line-bytes=modeinfo.bytesperscanline; Y-res =modeinfo.yres; } // ?ÆËã É?ÃèÏßÊ?Ö?º?Êý void map(void) { register int i,j; for(i=0; i>3; green= *pic++ >>2; blue = *pic++ >>3; red=red<<11; green=green<<5; *word++ =red|green|blue; } word=wordptr; for (j=0;j<2*(m-1);j+=2) { segmet=addr+j; page=segmet>>16; if (segmet <= 65535L) { poke(0xa000, addr+j, *word++ ); } else { Selectpage(page); poke(0xa000, addr+j, *word++ ); } } } 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; i>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真彩色模式下真彩色图像显示技术_第2页 fread(】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索