BORLANDC3.1(DOS)能不能在编译出高于640*480图象显示256色?
发布网友
发布时间:2023-04-23 11:09
我来回答
共2个回答
热心网友
时间:2023-10-09 11:52
可以的,以前我还做过,你可以查一下中断表
不知道网上有没有关于VESA3.0显卡规范的介绍
我记得你调一个中断就可以改分辨率了
好像是中断0x10 而且WINDOWS有什么分辨率可以选,你就有什么分辨率可以选。
但是有个问题,比较复杂,就是当你的页面缓冲大于64KB后 需要引入分页机制,比如640*480*256色=占用显卡307KB字节
那么你若想在(0,0)画点,就要在设置页码为0页,然后改A000:0000
数值,
你若想在(384,1)画点,就要在设置页码为0页,然后改A000:0400
数值
你若想在(0,104)画点,就要在设置页码为1页,然后改A000:0400
数值
所以大分辨率的图象函数比较复杂,就是分页麻烦
比如你来个1600*1200*32Bit画面 从0,0 画到最后一个点 光分页就要分120000次。。
热心网友
时间:2023-10-09 11:52
我不知道Borland3.1是不是16位的编译器,如果是32位的话,可以考虑使用OpenGL库来达到你的要求。