达人挑战之 “屏幕截图”

时间:2022-08-08 19:33:09
前两天发了一帖有关DirectShow的,我的这个Dopod818机子上运行所有SDK里附带的DirectShow例子均告失败,发了一帖没有回,无耐本人不能连续回复三次,结果帖子眼看就要沉底了。今天想了一个偏门招术,启动相机程序,然后截取屏幕,每秒获取3~5帧应该是没问题的吧。
用了一些传统的方法来获取屏幕,对于Windows普通窗体的界面是没问题的,对于照相机的拍摄界面是无法截取的,一片黑,用PC机上编程的经验来讲,这应该是直接把图像写到显存去了,用GDI/GDI+的方式截屏应该是得不到的,估计还得回到Direct里去,但我估计用DirectDraw里的东西应该能截到这些图像,不知有没有哪位高人有过这方面的经验?
主要是眼看日期一天一天的过去,这手机端的图像始终不能出来,急啊,其实也不是在下不愿下功夫去钻研程序,实在是“设备”问题,就连。NET CT 下的 cameraCaptureDialog.ShowDialog() 都会出现未知错误啊,搞得现在是急火攻心, 哪位仁兄若能指教,在下不甚感激!!

6 个解决方案

#2


接分,以便放分!

#3


谢谢朋友支持,但只要是跟GDI相关的,都不行的,只能截普通窗体,截不了拍照的画面的,应该只有DirectX下属的DirectShow或DirectDraw才行,如果DirectDraw能搞得成就好,DShow的标准程序在我的这个机子上是怎么运行都出错

#4


对,原先的截屏方式肯定不行,这个你放心。直接读显存,应用里也未见支持。好困难啊。呼唤更达的人。

#5


我现在是两条腿走路,一条是通过DirectShow,还在痛苦的调试中,请参阅我另一帖
一条就是通过本帖的方法,若能截到照相界面的图,也行
总之目的就一个,能得到每秒几帧的图像

#6


引用 1 楼 bsr2009 的回复:
参考一下:
windows mobile(wince)C++截取屏幕的方法


这种方法是可以做到每秒3-5帧的速率,我试过,是可以的,而且也可以截到相机的看到的内容

#1


#2


接分,以便放分!

#3


谢谢朋友支持,但只要是跟GDI相关的,都不行的,只能截普通窗体,截不了拍照的画面的,应该只有DirectX下属的DirectShow或DirectDraw才行,如果DirectDraw能搞得成就好,DShow的标准程序在我的这个机子上是怎么运行都出错

#4


对,原先的截屏方式肯定不行,这个你放心。直接读显存,应用里也未见支持。好困难啊。呼唤更达的人。

#5


我现在是两条腿走路,一条是通过DirectShow,还在痛苦的调试中,请参阅我另一帖
一条就是通过本帖的方法,若能截到照相界面的图,也行
总之目的就一个,能得到每秒几帧的图像

#6


引用 1 楼 bsr2009 的回复:
参考一下:
windows mobile(wince)C++截取屏幕的方法


这种方法是可以做到每秒3-5帧的速率,我试过,是可以的,而且也可以截到相机的看到的内容