ÕÒÂÛÎÄÍø > ¼ÆËã»úÂÛÎÄ > ¼ÆËã»úÓ¦Óà >

VGAÉ«²Ê±à¼­¼¼Êõ(1)

 

RGBÉ«²Ê»ìºÏÄ£ÐÍÓ¦ÓÃÔÚVGAÉϿɳÊÏÖ64¸ö»Ô¶È¼¶,ͨ¹ý64ÖÖ²»Í¬ÁÁ¶ÈµÄºìÉ«¡¢ÂÌÉ«ºÍÀ¶É«µþ¼Ó¿É²úÉú³ö262144(64¡Á64¡Á64)ÖÖ²»Í¬µÄÉ«²Ê¡£ÔÚVGAµÄ640¡Á480¡Á16ģʽÏÂ,ÒòÊܵ½ÏÔʾ´æ´¢ÇøµÄÏÞÖÆ,VGAÿ´Î½öÄÜ´Ó262144ÖÖÑÕÉ«ÖÐÑ¡³ö16ÖÖÑÕɫͬʱʹÓá£ËäÈ»¿ÉÒÔͨ¹ý¶ÔVGAÉ«²Ê¿ØÖƼĴæÆ÷DACµÄ²Ù×÷ѡȡËùÐèÒªµÄÉ«²Ê,ÔÚ262144ÖÖÑÕÉ«ÖнøÐÐ16ÖÖÉ«²Ê½»»»,ÓÃÀíÏëµÄÉ«µ÷»æÖƽϸßÖÊÁ¿µÄͼÐÎͼÏñ,»ñµÃÈçÄ£Äâ¹âÕÕ,É«²ÊµÄ×ÔÈ»¹ý¶ÈµÈÌØÊâЧ¹û,µ«ÓÉÓÚûÓÐÏֳɵÄVGAÉ«²Ê»ìºÏÄ£Ð͵÷É«¹¤¾ß,Òò´Ë¶ÔÒ»°ãµÄÓû§À´ËµÉ«²ÊµÄµ÷ÅäÊǺܲ»·½±ãµÄ,Óû§Êµ¼ÊÓõ½¶àÊýÊÇVGAÌṩµÄ16ÖÖȱʡֵɫ²Ê¡£±¾Îĸø³öÁËÒ»¸öVGAÉ«²Êµ÷Å乤¾ß³ÌÐò,ʹÓñ¾É«²Êµ÷Å乤¾ßÌṩµÄÑÕÉ«±à¼­¹¦ÄÜ,¿ÉÒÔ·½±ãµÄµ÷ÊÔ³öËùÓеÄVGAÄ£ÄâÉ«²Ê¡£
É«²Êµ÷Å乤¾ßÌṩÁËÏÂÊöËÄ·½Ã湦ÄÜ¡£
(1)ÑÕÉ«Ë÷Òý¹¦ÄÜ ±¾¹¦ÄÜ´ÓÉ«²Êµ÷Å乤¾ßÌṩµÄµ÷É«°åµÄ16ÖÖÑÕÉ«ÖÐÿ´ÎÑ¡³öÒ»ÖÖÑÕÉ«¹©Óû§µ÷Åä,ͬʱÌáʾ³öµ±Ç°±»µ÷ÅäÉ«²ÊÖеÄRGB¸÷·ÖÁ¿Öµ(»Ô¶È),RGBȡֵ·¶Î§ÊÇ0µ½63¡£Ê¹Óá®i¡¯ºÍ¡®s¡¯¼ü¸Ä±äÑÕÉ«Ë÷ÒýºÅºÅ,ͨ¹ýÑÕÉ«Ë÷ÒýºÅÔÚµ÷É«°åÉÏѡȡ¸÷ÖÖÐèµ÷ÅäµÄÑÕÉ«¡£
(2)ÑÕÉ«µ÷Å书ÄÜ ±¾¹¦ÄÜÔÚÑÕɫѡºÃºó,¶ÔÖ¸¶¨É«ºÅµÄÑÕÉ«½øÐе÷Å䡣ʹÓá®1¡¯ºÍ¡®2¡¯¼üÔö¼ÓºÍ¼õÉÙ¸ÃÑÕÉ«µÄºìÉ«·ÖÁ¿¡£Ê¹Óá®3¡¯ºÍ¡®4¡¯¼üÔö¼ÓºÍ¼õÉÙÂÌÉ«·ÖÁ¿,ʹÓá®5¡¯ºÍ¡®6¡¯¼üÔö¼ÓºÍ¼õÉÙÀ¶É«·ÖÁ¿¡£ÔÚRGB·ÖÁ¿Öµ±ä»¯Ê±,µ÷ÅäµÄÑÕÉ«¸úËæ×ű仯,ÇÒRGB¸÷·ÖÁ¿ÖµÒ²ÏÔʾ³öÀ´¡£µ÷ÅäÖеÄÑÕɫͬʱ×Ô¶¯Ð´ÈëÓû§µ÷É«°å¡£
(3)ÏÔʾµ÷É«°å¹¦ÄÜ ±¾¹¦ÄÜÏÔʾɫ²Êµ÷Å乤¾ßÌṩµÄ3¸öµ÷É«°å¡£µÚÒ»¸öÊÇȱʡֵµ÷É«°å,ÏÔʾ16ÖÖ±ê×¼ÑÕÉ«,ʹÓá®d¡¯¼üµ¯³ö¡£µÚ¶þ¸öÊÇ»ÒÉ«µ÷É«°å,ÏÔʾ16ÖֻҶȵĻÒÉ«,ʹÓá®g¡¯¼üµ¯³ö¡£µÚÈý¸öÊÇÓû§µ÷É«°å,ËüµÄ³õʼֵÊÇ16ÖÖ±ê×¼ÑÕÉ«,Óû§Ê¹ÓÃÑÕÉ«Ë÷Òý¹¦ÄܺÍÑÕÉ«µ÷Å书ÄÜÔÚËüÉÏÃæ½øÐÐÉ«²Ê±à¼­,±à¼­ºÃµÄÑÕÉ«µÄRGBÖµ×Ô¶¯±£´æÆðÀ´¡£Ê¹Óá®u¡¯¼ü½«Óû§µ÷É«°åµ¯³ö¡£
(4)µ÷É«°å´òÓ¡¹¦ÄÜ ±¾¹¦Äܽ«Óû§±à¼­ºÃµÄÓû§µ÷É«°åÖеÄ16ÖÖÑÕÉ«µÄRGBÖµ´òÓ¡ÔÚÆÁÄ»ÉÏ,¹©Óû§¼Ç¼ÏÂÀ´ºóÔÚ×Ô¼ºµÄÓ¦ÓóÌÐòÖÐʹÓá£
É«²Êµ÷Å乤¾ßÔÚTurbo CºÍBorland CÏÂÔËÐÐ,¶ÁÕß¿ÉÒÔµ¥¶ÀʹÓÃËü,Ò²¿ÉÒÔ°ÑËü¸Ä³Éº¯Êý¼ÓÔÚÓ¦ÓóÌÐòÖС£³ÌÐòÇåµ¥¸½ºó:
#include <dos.h>
#include <graphics.h>
int adapter, mode;
int screen-x,screen-y;
int sx, sy, wsx, wsy, sx1, sy1, sx2, sy2, x1, y1, x2, y2, t1;
int red-vol, grn-vol, blu-vol, key-num, idx-num, row, col;
int rgb-flag, adj, clr-idx;
int vga-default[16][3]={
0,0,0,0,0,42,0,42,0,0,42,42,42,0,0,42,0,42,
42,21,0,42,42,42,21,21,21,21,21,63,0,63,0,
0,63,63,63,21,17,63,19,63,63,63,0,63,63,63};
int vga-gray[16][3]={
0,0,0,10,10,10,13,13,13,15,15,15,17,17,17,20,20,20,
24,24,24,28,28,28,33,33,33,37,37,37,41,41,41,
46,46,46,50,50,50,54,54,54,58,58,58,63,63,63};
int vga-user[16][3]={
0,0,0,0,0,42,0,42,0,0,42,42,42,0,0,42,0,42,
42,21,0,42,42,42,21,21,21,21,21,63,0,63,0,
0,63,63,63,21,17,63,19,63,63,63,0,63,63,63};
char string[]="0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15";
char title[]="VGA color pattern";
union REGS regs;
main(){
detectgraph(&adapter,&mode);
initgraph(&adapter, &mode,¡° ¡±);
setfillstyle(SOLID-FILL,0); bar(118,100,507,239);
setfillstyle(SOLID-FILL,7); bar(120,103,509,237);
setcolor(0), rectangle(122,105,507,235);
sx=146,sy=138,wsx=20,wsy=80;
settextstyle(3,0,1);
outtextxy(250,105,title);
settextstyle(2,0,5);
outtextxy(sx,sy-15,string);
sx1=sx-4,sy1=sy-4,sx2=sx+(16*(wsx+1))+4;sy2=
sy+wsy+4;
rectangle(sx1,sy1,sx2,sy2);
for(t1=0;t1<16;t1++) {
x1=sx,y1=sy,x2=wsx,y2=wsy;

¹²3Ò³: 1 [2] [3] ÏÂÒ»Ò³


»ùÓÚvcÓëword¡¢outlook¶ÔÏóÄ£Ð͵ÄemailʵÏÖ
»ùÓÚMapXµÄ¶à×Ö¶ÎרÌâ±ýͼµÄÉè¼Æ
¹¤É̹ÜÀí | ¹¤¿ÆÂÛÎÄ | ²ÆÎñ¹ÜÀí | ¹ÜÀíѧ | ¹«¹²¹ÜÀí | ²ÆÕþ˰ÊÕ | ֤ȯ½ðÈÚ | »á¼ÆÉó¼Æ | ¼ÆËã»ú | ·¨ÂÉÂÛÎÄ | ҽҩѧ | ººÓïÑÔÎÄѧ
Éç»áÂÛÎÄ | ¹¤¿ÆÂÛÎÄ | Àí¿ÆÂÛÎÄ | ÎÄ»¯ÂÛÎÄ | ÒÕÊõÂÛÎÄ | ÎÄѧÂÛÎÄ | ÕÜѧÂÛÎÄ | ÕþÖÎÂÛÎÄ | Ó¢ÓïÂÛÎÄ | д×÷Ö¸µ¼ | ¼ÆËã»úÓ¦ÓÃ
www.zlunwen.com ÕÒÂÛÎÄÍø ® °æÈ¨ËùÓÐ ÍøÕ¾µØÍ¼