如何写滚屏截图,给个思路
正在写的程序,全屏/窗口(控件)/区域截图都写好了,就差滚屏截图了。现在还没有找到好的实现方式,请各路大侠给点思路/方法
当然直接给出代码就更谢了 本帖最后由 xxoojoeooxx 于 2011-2-10 03:03 编辑
截图
传送pagedown按键或滑鼠滚轮
截图
.
.
.
再组合起来
可能有时间的话再写写看 只想用户在拖动滚动条/滚轮/Pagedown键时,就截屏。应该的思路是不停地截屏,然后拼接起来。
但具体怎么实现的,还没有找到方法。 有了点思路了,如下的代码,就可以最简单地实现拼接截图。大家再给点主意/建议/代码嘛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)
自己顶下,看看大家有没有好的方式达到目的。 呵呵,没有测试过,不过看代码应该是属于比较简单的了
页:
[1]