python autopy抓取屏幕矩形

时间:2016-02-12 08:46:23

标签: python automation ui-automation autopy

我使用autopy模块抓取屏幕并将其保存到文件中。

autopy.bitmap.capture_screen()效果很好,但我怎样才能抓住屏幕的特定部分x = 0,y = 10,宽度= 200px,身高= 100px?

在autopy源代码是这样的,但我不知道如何在autopy.bitmap.capture_screen()中传递rect变量? 我试过autopy.bitmap.capture_screen([0,10,200,100])但它不起作用 - TypeError:参数不是矩形

static PyObject *bitmap_capture_screen(PyObject *self, PyObject *arg)
{
    MMRect rect;
    MMBitmapRef bitmap = NULL;
    MMSize displaySize = getMainDisplaySize();

    if (arg == NULL || arg == Py_None) {
        rect = MMRectMake(0, 0, displaySize.width, displaySize.height);
    } else {
        if (!PyArg_ParseTuple(arg, "(kk)(kk)", &rect.origin.x,
                                               &rect.origin.y,
                                               &rect.size.width,
                                               &rect.size.height)) {
            PyErr_SetString(PyExc_TypeError, "Argument is not a rect");
            return NULL;
        }

1 个答案:

答案 0 :(得分:0)

我发现了如何定义矩形。

rect = ((10, 10), (1, 1))
autopy.bitmap.capture_screen( rect )