svga图像处理论文

svga图像处理论文

ID:25210626

大小:52.00 KB

页数:4页

时间:2018-11-17

svga图像处理论文_第1页
svga图像处理论文_第2页
svga图像处理论文_第3页
svga图像处理论文_第4页
资源描述:

《svga图像处理论文》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、SVGA图像处理论文svga彩色图形卡是一种超级vga卡,它不仅具有640×480×16色图像显示模式,而且具有640×480×256色图像显示模式。microsoftc/c++7.0提供了丰富的图形库函数,尤其是提供了对svga卡所能设置的高分辨率图像模式的支持,利用丰富的图形库函数进行组合,就可以完成各种需要的功能。例如图像处理,动画编程,界面制作等。这一点对编程者来说无疑是十分方便的。然而遗憾的是许多图形库函数在一些特定的显示模式(如-vers256color(0x0101)方式(640×480×256)等256色模式)下却无法正常

2、工作.freelage()和-putimage()时常会出现死机和不能正常工作(出现雪花或不进行任何操作)等现象。用-grstatus()函数检测调用函数的状态时,返回图形错误或警告信息,常见的有图形错误(-1)和不支持请求的视频方式(-2)等,而这些函数在vga下工作正常。根据vesa图形标准,在图像模式下,svga的videobuffer(视频缓冲区)是顺序的链结构,且图像数据是按行序顺序存放的,一个像素(屏幕上的一个点)用存储器的一个字节(256色)表示。视频存储器按字节连续寻址,与主机内存采用映射方式通讯,一次只能读写64kb的视

3、频存储器,通过改变段偏移量(i/o操作)来寻址不同的段,即实现对全部视频存储器的操作。同时,直接访问svga的寄存器进行读写操作,充分利用硬件的支持可以大大加快图形的处理速度。实践表明,其运行速度明显优于图形库中提供的函数(以-getimage()和-putimage()为例快30倍)。笔者通过对视频存储器(videobuffer)的直接访问实现了256色图像显示模式下图像块的读写功能。下面附上在vesa标准的0x0101(256)图像显示模式下-getimage()和-putimage()两个函数的源程序,该源程序是用microsoft

4、c/c++7.0编写的。这两个函数在paq486及兼容机上运行通过。-getimage()和-putimage()两个函数的参数类型说明及意义与microsoftc/c++7.0中相应函数的参数类型说明及意义相同。/*将图像存储到缓冲区中*/void-getimage256(x1,y1,x2,y2,image)shortx1,y1,x2,y2;char-huge*image;{char-far*buf,-huge*q;longu;shortm,n,i,j,block;m=abs(x2-x1)+1;n=abs(y2-y1)+1;(short

5、)*image=m;(short)*(image+2)=n;/*保留图像的高度与宽度*/q=image+4;u=min(x1,.freelin(y1,y2)*6ge,action)shortx,y,action;/*参数action表示图像写方式*/char-huge*image;{char-far*buf,-huge*q;longu;shortm,n,j,i,block,mm;-memcpy(mm,image,2);if((x+mm)640)m=640-x;elsem=mm;-memcpy(n,image+2,2);if(y+n480)

6、n=4for(j=0;jm-640+u;j++)*(buf+j)=~(*(q+640-u+j));}-fp-off(buf)=u;}}}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。