阅读:2433回复:12
哪位大侠知道windows下哪个api负责把数据写到显存里?
如题
|
|
沙发#
发布于:2001-08-23 10:40
我也关心这个问题,但没找到,不过我查到SetDIBitsToDevice挺快的我测试过360*288的RGB数据30/s,听人说该函数用DMA的,再者就用director了,有兴趣我们讨论讨论:zh_x_l@263.net
|
|
板凳#
发布于:2001-08-23 17:54
多谢指教,我会与您联系。
但最好别在这里公开邮件地址,否则会招来很多广告信。 |
|
地板#
发布于:2001-08-23 18:07
我也是新手,交流一下,要想深入的就得看directX了,那里有你要的东西,不过我是不懂的:-)
|
|
地下室#
发布于:2001-08-25 13:51
如果可以得到显卡的内存地址,可以直接向内存地址写就可以了!主要是的导显卡的内存地址!
|
|
|
5楼#
发布于:2001-08-25 15:06
显卡的内存地址可以在windriver中看到的,或者可以遍历一下设备资源就可以知道了
|
|
6楼#
发布于:2001-08-27 19:23
楼上的两位大侠,是不是每块显卡的内存地址都一样了?一样倒好办可以写通用的程序了,不一样的话就~~~~~~~~,请指教
|
|
7楼#
发布于:2001-08-31 17:23
虽然说只要找到显存的地址就可以往里灌数据,但是您不要忘记还有其他的小朋友也要使用显存(比如其他的应用的窗口覆盖了你的应用窗口。。。)。要写显存的函数API太多了,画线、写字、位图传送。。。都要写显存,只不过写的方法不同罢了。比如画线函数只提供起始点,由驱动程序或者硬件来完成中间数据的填充,而位图传送则是将整幅位图写入显存。不如将的目的具体的写出来,大家来参详一下。
|
|
|
8楼#
发布于:2001-08-31 18:07
显卡的内存地址是由PC机来进行分配的,所以不一定一样。
|
|
|
9楼#
发布于:2001-09-01 21:21
谢谢大家的回答,
我的目的是写一个监控程序,监测客户机的屏幕变化,想要在客户机 的屏幕刷新后传一幅图给主机 |
|
10楼#
发布于:2001-09-02 09:14
To yww:
您的需求可用以下API实现: GetDesktopWindow(); GetWindowDC(hwnd); GetDeviceCaps(hdc,HORZRES); GetDeviceCaps(hdc,VERTRES); GetPixel(); 我曾用它们做过一个监视屏幕变化的一个应用。 |
|
11楼#
发布于:2001-09-03 07:39
多谢oneq,
我试试 |
|
12楼#
发布于:2001-09-06 19:33
最直接的方法就是利用VBE(2.0以上)吧整个显存映射到内存里。但这只是实现修改显存,想直接写屏还是不行,因为Primary Surface的起始地址是不一定的。
[svgxl 编辑于 2001-09-06 20:50] |
|