TC中640x480,16色模式下直接写屏怎么弄?

来自:    更新日期:早些时候
填出所缺单词 s _ _tc_se~

suitcase 手提箱

Text Completion 传统的填空题,可能是五选一,两对三选一,以及三对三选一
Sentence Equivalence 新G改革后新加入的同义词题,一般来说还归为填空,六选二,不一定释义相同,只要表达的逻辑合理即可

修改过了,640*480 16色
--------------------------------------------
/*使用640*480分辨率对显存直接写屏*/
#include <math.h>
#include <dos.h>
setpointcolor(int x,int y,int color,unsigned char far *videobuffer)
{
int bits[4],i; /*bits数组用于保存color的二进制每一位的值*/
int temp,cbit;
for(i=0;i<=3;i++) /*保存color二进制位到数组*/
{
bits[i]=color%2;
color=color/2;
}
for(i=0;i<=3;i++) /*循环写4个位面的值*/
{
temp=0x00;
outportb(0x3ce,2); /*往端口3ce送2说明位面可写*/
outportb(0x3c5,i); /*选择可写位面,其他位面屏蔽*/
cbit=7-x%8; /*象素点位于字节的具体哪一位*/
if(bits[i]==0) /*位面i的对应字节位的值为0*/
temp=0x00;
else if(bits[i]==1)
temp=(int)pow(2,cbit);
videobuffer[80*y+x/8]=(videobuffer[80*y+x/8]|temp); /*将该字节的值与temp或运算*/
}
}
/*进入12h图形模式*/
setvideomode()
{
union REGS inregs,outregs;
inregs.h.ah=0x00;
inregs.h.al=0x12;
int86(0x10,&inregs,&outregs);
}
void main()
{
unsigned char far *videobuffer=(char far *)0xa0000000;
int i;
setvideomode();
for(i=0;i<=639;i++) /*画一条直线*/
setpointcolor(i,200,15,videobuffer);
getch();
}

DirectDraw


TC中640x480,16色模式下直接写屏怎么弄?视频

相关评论:

相关主题精彩

版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

Copyright © 喜物网