回到首页|无忧论文仓库|兰州学生网LOGO
会员登录
广告推荐
热门论文
·Money and Marriage——The matrimonial 
·校园网站设计
·开题报告范文
·论毛泽东的创新思想
·毕业设计-开题报告
·关于我国上市公司会计信息披露的几点思考
·毛泽东思想与中国共产党的伟大理论创新
·论抗生素的发展及市场
·浅析网络安全技术
·开题报告范例
VGA色彩编辑技术
作者: 来源: 责任编辑: 更新日期:2006-5-23 12:25:34
VGA色彩编辑技术
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;
setfillstyle(SOLID-FILL,t1);
bar(sx,sy,sx+wsx,sy+wsy);
sx=sx+wsx+1;{
setcolor(0);
sx=146;idx-num=1;clr-idx=15;
rectangle(sx,sy,sx2-4,sy2-4);
rectangle(sx-1,sy-1,sx2-3,sy2-3);
sx=285,sy=40,wsx=80,wsy=20;
x1=sx,y1=sy,x2=wsx,y2=wsy;
setfillstyle(SOLID-FILL,clr-idx);
bar(sx,sy,sx+wsx,sy+wsy);
red-vol=63;grn-vol=63;blu-vol=63;
display-status();
clr-bar-loop:
key-num=getch();
if(key-num==‘0’) return;
switch(key-num){
case `i′:clr-idx++;
if(clr-idx>15) clr-idx=0;
if(clr-idx<0) clr-idx=15;
change-idx();break;
case 's':clr-idx--;

本论文共3页,当前在第1页  1  2  3  

打印本文 收藏本文 返回顶部 关闭窗口
   论文分类导航
经济学 管理学 会计审计 法学 理学 医药生理 社会政治
发展战略  |  国际经济
国内经济  |  经济理论
财政税收  |  证券金融
基本理论  |  人力资源
行政管理  |  工商管理
财务管理  |  公共管理
会计理论  |  管理会计
成本会计  |  电算会计
会计研究  |  审计核算
民法  |  经济法
刑法  |  国际法
国家法  |  司法制度
行政法  |  法学理论
生命科学  |  物理学
地质地理  |  农林学
数学  |  化学
药学  |  临床医学
医学  |  生理心理
社会主义  |  资本主义
马列主义  |  毛概邓论
民族主义  |  台湾问题
人口问题  |  伦理道德
农村问题  |  其它相关
教育学 工学 计算机 艺术 哲学 文化 文学
教育理论  |  学历教育
职业教育  |  教育心理
学科教育  |  英语教学
通  信  学  |  电子机械
工程建筑  |  水利电力
材料工程  |  交通运输
工业设计  |  环境工程
计算机应用
计算机理论
计算机网络
美术  |  艺术理论
音乐  |  电视电影
美学  |  国学
 逻 辑 学  |  中国哲学
西方哲学  |  思想哲学
传统文化  |  当代中国
西方文化  |  社会文化
文化研究  |  文化发展
语言文学  |  古代文学
现代文学  |  新闻传播
设为首页 |  收藏本站 |  网站帮助 |  网站地图 |  意见反馈 |  关于无忧 |  信誉保证 |  联系办法
互联网信息服务(ICP)备案:陇ICP备05005179/06001620 不良信息举报中心