求助:自动捉点颜色的源码应该怎么写?
各位大虾,我是新手,我想写一段这样的源码:每次运行都会自动抓取屏慕上固定点的颜色并保存,当固定点颜色改变时停止运行。这个代码应该怎么写啊,请知道的大虾教一下,小弟在此先谢过了。
在DOS下:
要对VGA卡图形方式深入了解才行。忘了Int10h有没有读点颜色的功能。
一般要先确定当前显示模式(图形模式也分好多)。然后,因为在图形模式下,显存被分作四个页面,它们都占用同一内存地址空间,所以,在任何一刻,程序员只能看到一个页面。希望看到别的页面,则必须通过写VGA卡寄存器,命令显卡切换显存页面。4个页面同样地址字节的同样位,构成屏幕上的一个点——于是就能判定这个点是否改变了色彩。
【说明:以上基于256色VGA卡640*480】
在Windows下:
Win32API应该能很容易实现这个功能。
想底层象DOS那样操作,那需要切入Ring0级。
仅供参考。
[[it] 本帖最后由 cnhanxiao 于 2008-11-14 09:42 编辑 [/it]]