找回密码
 加入
搜索
查看: 2445|回复: 5

[系统综合] 如何写滚屏截图,给个思路

[复制链接]
发表于 2011-2-10 02:14:00 | 显示全部楼层 |阅读模式
正在写的程序,全屏/窗口(控件)/区域截图都写好了,就差滚屏截图了。
现在还没有找到好的实现方式,请各路大侠给点思路/方法

当然直接给出代码就更谢了
发表于 2011-2-10 02:58:21 | 显示全部楼层
本帖最后由 xxoojoeooxx 于 2011-2-10 03:03 编辑

截图
传送pagedown按键或滑鼠滚轮
截图
.
.
.
再组合起来
可能有时间的话再写写看
 楼主| 发表于 2011-2-10 05:18:31 | 显示全部楼层
只想用户在拖动滚动条/滚轮/Pagedown键时,就截屏。应该的思路是不停地截屏,然后拼接起来。
但具体怎么实现的,还没有找到方法。
 楼主| 发表于 2011-2-10 09:17:58 | 显示全部楼层
有了点思路了,如下的代码,就可以最简单地实现拼接截图。大家再给点主意/建议/代码嘛
Local $hWnd, $hDDC, $HDDC1, $hCDC1, $hBMP1, $iW, $iH

$iW = 300
$iH = 300
$hWnd = _WinAPI_GetDesktopWindow()
$hDDC = _WinAPI_GetDC($hWnd) 
$GUIHandle = GUICreate("Stitched", $iW, $iH * 2, 300, 300)
GUISetState()  

$hDDC1 = _WinAPI_GetDC($GUIHandle)
$hCDC1 = _WinAPI_CreateCompatibleDC($hDDC1)
$hBMP1 = _WinAPI_CreateCompatibleBitmap($hDDC1, $iW, $iH * 2)
_WinAPI_SelectObject($hCDC1, $hBMP1)

_WinAPI_BitBlt($hDDC1, 0, 0, $iW, $iH, $hDDC, 0, 0, $SRCCOPY)   
_WinAPI_BitBlt($hDDC1, 0, $iH, $iW, $iH, $hDDC, 0, 0, $SRCCOPY)

_WinAPI_BitBlt($hCDC1, 0, 0, $iW, $iH, $hDDC, 0, 0, $SRCCOPY)   
_WinAPI_BitBlt($hCDC1, 0, $iH, $iW, $iH, $hDDC, 0, 0, $SRCCOPY)

_WinAPI_ReleaseDC($hWnd, $hDDC)
_WinAPI_ReleaseDC($GUIHandle, $hCDC1)
_WinAPI_DeleteDC($hCDC1)

_ScreenCapture_SaveImage("F:\abc.png", $hBMP1)   
_WinAPI_DeleteObject($hBMP1)
        
 楼主| 发表于 2011-2-13 22:53:49 | 显示全部楼层
自己顶下,看看大家有没有好的方式达到目的。
发表于 2011-2-14 10:22:39 | 显示全部楼层
呵呵,没有测试过,不过看代码应该是属于比较简单的了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-15 18:28 , Processed in 0.071948 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表