AutoHotkey 脚本来点击一些横幅,它会在 Telegram 上向我发送其点击的照片。当然,我用于裁剪屏幕截图的 x1,y1,x2,y2
坐标是变量并经过计算的。我对 ScreenCapture 的坐标有问题,对 GDI+ 的鼠标光标有问题 😂在 GDI+ 中工作得很好,但我没有找到
任何方法来捕获鼠标,如果不用图片替换它的话。 (也许......但这有点棘手,因为我需要它点击的精确点)。
CaptureScreen 相反提供了捕获鼠标的可能性,但是我对 x1,x2,y1,y2
变量有问题。尝试了各种方法都没有机会!如何解决这个问题?我的代码如下。使用GDI+
picx := 150, picy := 150, picx2 := 400, picy2 := 400
pToken := Gdip_Startup()
snap := Gdip_BitmapFromScreen( picx "|" picy "|" picx2 "|" picy2 )
Gdip_SaveBitmapToFile(snap, "Shot.png")
Gdip_DisposeImage(snap)
与CaptureScreen.ahk
F1::
MouseGetPos, x, y
mouseareax := 150
mouseareay := 250
picx := x-mouseareax
picy := y-mouseareax
picx2 := x+mouseareax
picy2 := y+mouseareay
if (picx < 0) {
picx2 := picx2 - picx
picx := 0
} else if (picx2 > A_ScreenWidth ){
picx := picx - (picx2 - A_ScreenWidth)
picx2 := 0
}
if (picy < 0) {
picy2 := picy2 - picy
picy := 0
} else if (picy2 > A_ScreenHeight ){
picy := picy - (picy2 - A_ScreenHeight)
picy2 := 0
}
capturecoords := """" picx ", " picy ", " picx2 ", " picy2 """"
msgbox, %capturecoords%
msgbox, CaptureScreen( %capturecoords%, 1, "screen.png")
第一个消息框:第二个Magbox:
结果: 文件未生成。
注意:脚本会考虑屏幕尺寸,以便在角落中图像始终具有相同的尺寸,当不在角落时,鼠标将居中于图像(以便进行良好的缩放)。
还尝试过:
msgbox, CaptureScreen( "%picx%, %picy%, %picx2%, %picy2%", 1, "screen.png")
它提供了精确的语法(如第二个消息框图像),但不起作用。
CaptureScreen(picx ", " picy ", " picx2 ", " picy2, 1, "screen.png")