Есть ли инструмент командной строки, который возвращает цвет пикселя на основе координат экрана?

Просто удалите приложения из нежелательных приложений из содержимого меню. Для этого есть редактор меню. Причина этого заключается в том, что вы не собираетесь экономить огромное количество дискового пространства, и когда обновление пакета рабочего стола будет выпущено (время от времени) и будет установлено, все ваши удаленные приложения вернутся.

10
задан 8 December 2010 в 17:57

44 ответа

Вы можете использовать программу grabc. Он повернет ваш указатель мыши в перекрестье и вернет значения HTML и RGB выбранного цвета.

sudo apt-get install grabc

Даунсайд: невозможно сделать пиксельные точные выделения из-за недостаточного уровня перекрестия.

Вы также можете создать скрипт python, например:

#!/usr/bin/python -W ignore::DeprecationWarning
import sys
import gtk

def get_pixel_rgb(x, y):
    pixbuf = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, False, 8, 1, 1)
    pixbuf.get_from_drawable(gtk.gdk.get_default_root_window(),
                             gtk.gdk.colormap_get_system(), 
                             x, y, 0, 0, 1, 1)
    return pixbuf.get_pixels_array()[0][0]

print get_pixel_rgb(int(sys.argv[1]), int(sys.argv[2]))

сделать его исполняемым и запустить pixel_rgb="$(/path/to/script.py x y)" в вашем сценарии bash. Конечно, вам нужно будет изменить сценарий так, как вам это нужно, добавьте некоторую обработку ошибок и т. Д.

PS: Я не совсем уверен, что вы можете что-то сделать с помощью «Опознания устаревания», поэтому я повернул это в первой строке.

11
ответ дан 26 May 2018 в 00:03
  • 1
    Спасибо htorque, но снова я понял слишком поздно, что у меня не было существенного требования ... Я хочу, чтобы он запускался автономически в цикле в пакетном скрипте. Так что спасибо за хэдз-ап в этом маленьком приложении. Это определенно пригодится какое-то время .. (но не для моей текущей перестройки, где будет работать «не-пилотируемый») – Peter.O 8 December 2010 в 14:15
  • 2
    htorque: ваш скрипт Python отлично подходит для счета за мои измененные спецификации (обычный пользователь! всегда меняя спецификации! :) ... работая непосредственно с координатами, намного лучше для моего «найти шаблон пикселя», proc ..., а затем я могу просто переместить курсор на только что найденные координаты, а затем xmacro щелкнуть правой кнопкой мыши; прямо на цель .... Легко! (для Pythonistas :) – Peter.O 8 December 2010 в 15:40
  • 3
    Получение no module named numpy.core.multiarray; Segmentation fault. Какая часть зависит от этого модуля? – Drew Chapin 10 March 2018 в 02:15

Вы можете использовать программу grabc. Он повернет ваш указатель мыши в перекрестье и вернет значения HTML и RGB выбранного цвета.

sudo apt-get install grabc

Даунсайд: невозможно сделать пиксельные точные выделения из-за недостаточного уровня перекрестия.

Вы также можете создать скрипт python, например:

#!/usr/bin/python -W ignore::DeprecationWarning import sys import gtk def get_pixel_rgb(x, y): pixbuf = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, False, 8, 1, 1) pixbuf.get_from_drawable(gtk.gdk.get_default_root_window(), gtk.gdk.colormap_get_system(), x, y, 0, 0, 1, 1) return pixbuf.get_pixels_array()[0][0] print get_pixel_rgb(int(sys.argv[1]), int(sys.argv[2]))

сделать его исполняемым и запустить pixel_rgb="$(/path/to/script.py x y)" в вашем сценарии bash. Конечно, вам нужно будет изменить сценарий так, как вам это нужно, добавьте некоторую обработку ошибок и т. Д.

PS: Я не совсем уверен, что вы можете что-то сделать с помощью «Опознания устаревания», поэтому я повернул это в первой строке.

11
ответ дан 25 July 2018 в 22:47

Вы можете использовать программу grabc. Он повернет ваш указатель мыши в перекрестье и вернет значения HTML и RGB выбранного цвета.

sudo apt-get install grabc

Даунсайд: невозможно сделать пиксельные точные выделения из-за недостаточного уровня перекрестия.

Вы также можете создать скрипт python, например:

#!/usr/bin/python -W ignore::DeprecationWarning import sys import gtk def get_pixel_rgb(x, y): pixbuf = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, False, 8, 1, 1) pixbuf.get_from_drawable(gtk.gdk.get_default_root_window(), gtk.gdk.colormap_get_system(), x, y, 0, 0, 1, 1) return pixbuf.get_pixels_array()[0][0] print get_pixel_rgb(int(sys.argv[1]), int(sys.argv[2]))

сделать его исполняемым и запустить pixel_rgb="$(/path/to/script.py x y)" в вашем сценарии bash. Конечно, вам нужно будет изменить сценарий так, как вам это нужно, добавьте некоторую обработку ошибок и т. Д.

PS: Я не совсем уверен, что вы можете что-то сделать с помощью «Опознания устаревания», поэтому я повернул это в первой строке.

11
ответ дан 27 July 2018 в 00:21

Вы можете использовать программу grabc. Он повернет ваш указатель мыши в перекрестье и вернет значения HTML и RGB выбранного цвета.

sudo apt-get install grabc

Даунсайд: невозможно сделать пиксельные точные выделения из-за недостаточного уровня перекрестия.

Вы также можете создать скрипт python, например:

#!/usr/bin/python -W ignore::DeprecationWarning import sys import gtk def get_pixel_rgb(x, y): pixbuf = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, False, 8, 1, 1) pixbuf.get_from_drawable(gtk.gdk.get_default_root_window(), gtk.gdk.colormap_get_system(), x, y, 0, 0, 1, 1) return pixbuf.get_pixels_array()[0][0] print get_pixel_rgb(int(sys.argv[1]), int(sys.argv[2]))

сделать его исполняемым и запустить pixel_rgb="$(/path/to/script.py x y)" в вашем сценарии bash. Конечно, вам нужно будет изменить сценарий так, как вам это нужно, добавьте некоторую обработку ошибок и т. Д.

PS: Я не совсем уверен, что вы можете что-то сделать с помощью «Опознания устаревания», поэтому я повернул это в первой строке.

11
ответ дан 31 July 2018 в 10:49

Вы можете использовать программу grabc. Он повернет ваш указатель мыши в перекрестье и вернет значения HTML и RGB выбранного цвета.

sudo apt-get install grabc

Даунсайд: невозможно сделать пиксельные точные выделения из-за недостаточного уровня перекрестия.

Вы также можете создать скрипт python, например:

#!/usr/bin/python -W ignore::DeprecationWarning import sys import gtk def get_pixel_rgb(x, y): pixbuf = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, False, 8, 1, 1) pixbuf.get_from_drawable(gtk.gdk.get_default_root_window(), gtk.gdk.colormap_get_system(), x, y, 0, 0, 1, 1) return pixbuf.get_pixels_array()[0][0] print get_pixel_rgb(int(sys.argv[1]), int(sys.argv[2]))

сделать его исполняемым и запустить pixel_rgb="$(/path/to/script.py x y)" в вашем сценарии bash. Конечно, вам нужно будет изменить сценарий так, как вам это нужно, добавьте некоторую обработку ошибок и т. Д.

PS: Я не совсем уверен, что вы можете что-то сделать с помощью «Опознания устаревания», поэтому я повернул это в первой строке.

11
ответ дан 31 July 2018 в 10:55

Вы можете использовать программу grabc. Он повернет ваш указатель мыши в перекрестье и вернет значения HTML и RGB выбранного цвета.

sudo apt-get install grabc

Даунсайд: невозможно сделать пиксельные точные выделения из-за недостаточного уровня перекрестия.

Вы также можете создать скрипт python, например:

#!/usr/bin/python -W ignore::DeprecationWarning import sys import gtk def get_pixel_rgb(x, y): pixbuf = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, False, 8, 1, 1) pixbuf.get_from_drawable(gtk.gdk.get_default_root_window(), gtk.gdk.colormap_get_system(), x, y, 0, 0, 1, 1) return pixbuf.get_pixels_array()[0][0] print get_pixel_rgb(int(sys.argv[1]), int(sys.argv[2]))

сделать его исполняемым и запустить pixel_rgb="$(/path/to/script.py x y)" в вашем сценарии bash. Конечно, вам нужно будет изменить сценарий так, как вам это нужно, добавьте некоторую обработку ошибок и т. Д.

PS: Я не совсем уверен, что вы можете что-то сделать с помощью «Опознания устаревания», поэтому я повернул это в первой строке.

11
ответ дан 2 August 2018 в 04:11

Вы можете использовать программу grabc . Он повернет ваш указатель мыши в перекрестье и вернет значения HTML и RGB выбранного цвета.

  sudo apt-get install grabc  

Даунсайд: это


Вы также можете создать скрипт python, например:

  #!  / usr / bin / python -W ignore :: DeprecationWarning import sys import gtk def get_pixel_rgb (x, y): pixbuf = gtk.gdk.Pixbuf (gtk.gdk.COLORSPACE_RGB, False, 8, 1, 1) pixbuf.get_from_drawable (  gtk.gdk.get_default_root_window (), gtk.gdk.colormap_get_system (), x, y, 0, 0, 1, 1) return pixbuf.get_pixels_array () [0] [0] print get_pixel_rgb (int (sys.argv [1  ]), int (sys.argv [2]))  

делают его исполняемым и запускают pixel_rgb = "$ (/ path / to / script.py xy)" [ ! d3] в вашем сценарии bash. Конечно, вам нужно будет изменить скрипт так, как вам это нужно, добавьте некоторую обработку ошибок и т. Д.

PS: Я не совсем уверен, что вы можете что-то сделать с помощью метода «Оскорбление», поэтому я повернул это в первой строке.

11
ответ дан 4 August 2018 в 20:15

Вы можете использовать программу grabc . Он повернет ваш указатель мыши в перекрестье и вернет значения HTML и RGB выбранного цвета.

  sudo apt-get install grabc  

Даунсайд: это


Вы также можете создать скрипт python, например:

  #!  / usr / bin / python -W ignore :: DeprecationWarning import sys import gtk def get_pixel_rgb (x, y): pixbuf = gtk.gdk.Pixbuf (gtk.gdk.COLORSPACE_RGB, False, 8, 1, 1) pixbuf.get_from_drawable (  gtk.gdk.get_default_root_window (), gtk.gdk.colormap_get_system (), x, y, 0, 0, 1, 1) return pixbuf.get_pixels_array () [0] [0] print get_pixel_rgb (int (sys.argv [1  ]), int (sys.argv [2]))  

делают его исполняемым и запускают pixel_rgb = "$ (/ path / to / script.py xy)" [ ! d3] в вашем сценарии bash. Конечно, вам нужно будет изменить сценарий так, как вам это нужно, добавьте некоторую обработку ошибок и т. Д.

PS: Я не совсем уверен, что вы можете что-то сделать с помощью Do notrecutionWarning, поэтому я повернул это в первой строке.

11
ответ дан 6 August 2018 в 04:16

Вы можете использовать программу grabc . Он повернет ваш указатель мыши в перекрестье и вернет значения HTML и RGB выбранного цвета.

  sudo apt-get install grabc  

Даунсайд: это


Вы также можете создать скрипт python, например:

  #!  / usr / bin / python -W ignore :: DeprecationWarning import sys import gtk def get_pixel_rgb (x, y): pixbuf = gtk.gdk.Pixbuf (gtk.gdk.COLORSPACE_RGB, False, 8, 1, 1) pixbuf.get_from_drawable (  gtk.gdk.get_default_root_window (), gtk.gdk.colormap_get_system (), x, y, 0, 0, 1, 1) return pixbuf.get_pixels_array () [0] [0] print get_pixel_rgb (int (sys.argv [1  ]), int (sys.argv [2]))  

делают его исполняемым и запускают pixel_rgb = "$ (/ path / to / script.py xy)" [ ! d3] в вашем сценарии bash. Конечно, вам нужно будет изменить сценарий так, как вам это нужно, добавьте некоторую обработку ошибок и т. Д.

PS: Я не совсем уверен, что вы можете что-то сделать с помощью Do notrecutionWarning, поэтому я повернул это в первой строке.

11
ответ дан 7 August 2018 в 22:20

Вы можете использовать программу grabc . Он повернет ваш указатель мыши в перекрестье и вернет значения HTML и RGB выбранного цвета.

  sudo apt-get install grabc  

Даунсайд: это


Вы также можете создать скрипт python, например:

  #!  / usr / bin / python -W ignore :: DeprecationWarning import sys import gtk def get_pixel_rgb (x, y): pixbuf = gtk.gdk.Pixbuf (gtk.gdk.COLORSPACE_RGB, False, 8, 1, 1) pixbuf.get_from_drawable (  gtk.gdk.get_default_root_window (), gtk.gdk.colormap_get_system (), x, y, 0, 0, 1, 1) return pixbuf.get_pixels_array () [0] [0] print get_pixel_rgb (int (sys.argv [1  ]), int (sys.argv [2]))  

делают его исполняемым и запускают pixel_rgb = "$ (/ path / to / script.py xy)" [ ! d3] в вашем сценарии bash. Конечно, вам нужно будет изменить сценарий так, как вам это нужно, добавьте некоторую обработку ошибок и т. Д.

PS: Я не совсем уверен, что вы можете что-то сделать с помощью Do notrecutionWarning, поэтому я повернул это в первой строке.

11
ответ дан 10 August 2018 в 10:30

Вы можете использовать программу grabc . Он повернет ваш указатель мыши в перекрестье и вернет значения HTML и RGB выбранного цвета.

  sudo apt-get install grabc  

Даунсайд: это


Вы также можете создать скрипт python, например:

  #!  / usr / bin / python -W ignore :: DeprecationWarning import sys import gtk def get_pixel_rgb (x, y): pixbuf = gtk.gdk.Pixbuf (gtk.gdk.COLORSPACE_RGB, False, 8, 1, 1) pixbuf.get_from_drawable (  gtk.gdk.get_default_root_window (), gtk.gdk.colormap_get_system (), x, y, 0, 0, 1, 1) return pixbuf.get_pixels_array () [0] [0] print get_pixel_rgb (int (sys.argv [1  ]), int (sys.argv [2]))  

делают его исполняемым и запускают pixel_rgb = "$ (/ path / to / script.py xy)" [ ! d3] в вашем сценарии bash. Конечно, вам нужно будет изменить скрипт так, как вам это нужно, добавьте некоторую обработку ошибок и т. Д.

PS: Я не совсем уверен, что вы можете что-то сделать с помощью метода «Оскорбление», поэтому я повернул это в первой строке.

11
ответ дан 13 August 2018 в 16:56
  • 1
    Спасибо htorque, но снова я понял слишком поздно, что у меня не было существенного требования ... Я хочу, чтобы он запускался автономически в цикле в пакетном скрипте. Так что спасибо за хэдз-ап в этом маленьком приложении. Это определенно пригодится какое-то время .. (но не для моей текущей перестройки, где будет работать «не-пилотируемый») – Peter.O 8 December 2010 в 14:15
  • 2
    htorque: ваш скрипт Python отлично подходит для счета за мои измененные спецификации (обычный пользователь! всегда меняя спецификации! :) ... работая непосредственно с координатами, намного лучше для моего «найти шаблон пикселя», proc ..., а затем я могу просто переместить курсор на только что найденные координаты, а затем xmacro щелкнуть правой кнопкой мыши; прямо на цель .... Легко! (для Pythonistas :) – Peter.O 8 December 2010 в 15:40
  • 3
    Получение модуля с именем numpy.core.multiarray; Ошибка сегментации . Какая часть зависит от этого модуля? – Drew Chapin 10 March 2018 в 02:15

Это немного cludgy, но вы можете достичь этого с помощью xdotool, который позволяет вам взаимодействовать с мышью, и grabc, который получает цвет из местоположения, щелкнутого по экрану.

sudo apt-get install xdotool grabc

Первый запуск grabc но background it

grabc &

Затем выполните mouseclick, используя xdotool

xdotool click 1

Щелчок будет захвачен курсором grabc и фоновым процессом с выводом цвета.

5
ответ дан 26 May 2018 в 00:03
  • 1
    Интересный, misterben .. "cludgy" может быть хорошо;) Я недавно услышал высказывание. «черная кошка, белая кошка, табби-кошка .. до тех пор, пока она ловит мышь» ... но я смутно вспоминаю, что вижу что-то на одной из информационных страниц макрообъекта о пикселях (но, возможно, это было только относительно координат ) ... Я хочу запросить строку пикселей по экрану, и я бы хотел избежать переключения курсора, вызванного grabc ... Теперь, когда я увидел " grabc " в действии, я бы предпочел что-то, что захватывает цвет, основанный на координатах (я делал это довольно часто в Windows :( ... Надеюсь, что что-то похожее для Linux :) – Peter.O 8 December 2010 в 14:59
  • 2
    Вы можете использовать xdotool для получения координат указателя и использования их с помощью скрипта python htorque. xdotool getmouselocation | sed -e 's/x://' -e 's/y://' -e 's/ screen:.*$//' захватит координаты и очистит их до пробелов, разделенных значениями x y, чтобы передать этот сценарий. – misterben 8 December 2010 в 15:08
  • 3
    misterben, спасибо за вашу помощь, я узнал больше о backgrouding (очень удобно) .... Я не понимал этого, когда я сначала задал вопрос, но «получить цвет по координатам». метод оказался способ пойти. – Peter.O 8 December 2010 в 15:48
  • 4
    Я только что попробовал свой xdtool getmouselocation ... очень приятно, спасибо ... полезность sed просто держит меня на удивление! – Peter.O 8 December 2010 в 16:12

Я написал модуль python для таких операций, как Macropolo. Но это гораздо больше, чем просто получение цвета на экране.

Вот сообщение на форуме, где я поделился им: http://ubuntuforums.org/showthread.php?t = 2155281

Модуль имеет много функций, которые позволяют вам, например, подсчитайте количество пикселей, которые имеют определенный цвет в области экрана, найдите цвет (-ы) пикселей в области, дождитесь, когда пиксель или область экрана имеют определенный цвет, дождитесь цвета пикселя и запустите некоторые другие (например, переместите курсор для того, чтобы отключить экран, пока вы ожидаете определенного цвета).

Но, как я уже сказал, это намного больше, например, имитация щелчков мыши и клавиатура, снятие экрана с экрана и многое другое.

2
ответ дан 26 May 2018 в 00:03

Другое решение, использующее xwd и xdotool:

xwd -root -silent | convert xwd:- -depth 8 -crop "1x1+$X+$Y" txt:- | grep -om1 '#\w\+'

, где $X и $Y - ваши координаты.

Как часть Xorg xwd следует предустановить в вашей системе. xdotool можно установить с помощью:

sudo apt-get install xdotool 

Основываясь на ответе @ Christian на StackOverflow Q & amp; A и этой теме imagemagick.org.

1
ответ дан 26 May 2018 в 00:03
  • 1
    Спасибо, он работает, хотя он намного медленнее (реальный 0.363s пользователь 0.456s sys 0.064s), чем скрипт python htorque (реальный 0.097s пользователь 0.072s sys 0.020s). – Peter.O 27 August 2014 в 21:05
  • 2
    @ Peter.O Да, но это верно только в том случае, если питон и импортированные библиотеки уже кэшированы в вашей памяти. При холодном запуске сценарий python будет значительно медленнее. Поэтому, если ваш скрипт запускается только иногда, вы можете захотеть использовать мое решение. PS: Вы можете ускорить процесс, если знаете, какое окно вы хотите проверить. xwd поддерживает скриншоты определенных идентификаторов окон, поэтому вы можете запросить идентификатор окна (например, xdotool search --name "$Win" | head -n1), а затем передать его на xwd с помощью xwd -id "$WinID" -silent | .... Примечание: в этом случае координаты будут относительно окна. – Glutanimate 28 August 2014 в 00:37

Другое решение, использующее xwd и xdotool:

xwd -root -silent | convert xwd:- -depth 8 -crop "1x1+$X+$Y" txt:- | grep -om1 '#\w\+'

, где $X и $Y - ваши координаты.

Как часть Xorg xwd следует предустановить в вашей системе. xdotool можно установить с помощью:

sudo apt-get install xdotool

Основываясь на ответе @ Christian на StackOverflow Q & amp; A и этой теме imagemagick.org.

2
ответ дан 25 July 2018 в 22:47
  • 1
    Спасибо, он работает, хотя он намного медленнее (реальный 0.363s пользователь 0.456s sys 0.064s), чем скрипт python htorque (реальный 0.097s пользователь 0.072s sys 0.020s). – Peter.O 27 August 2014 в 21:05
  • 2
    @ Peter.O Да, но это верно только в том случае, если питон и импортированные библиотеки уже кэшированы в вашей памяти. При холодном запуске сценарий python будет значительно медленнее. Поэтому, если ваш скрипт запускается только иногда, вы можете захотеть использовать мое решение. PS: Вы можете ускорить процесс, если знаете, какое окно вы хотите проверить. xwd поддерживает скриншоты определенных идентификаторов окон, поэтому вы можете запросить идентификатор окна (например, xdotool search --name "$Win" | head -n1), а затем передать его на xwd с помощью xwd -id "$WinID" -silent | .... Примечание: в этом случае координаты будут относительно окна. – Glutanimate 28 August 2014 в 00:37

Я написал модуль python для таких операций, как Macropolo. Но это гораздо больше, чем просто получение цвета на экране.

Вот сообщение на форуме, где я поделился им: http://ubuntuforums.org/showthread.php?t = 2155281

Модуль имеет много функций, которые позволяют вам, например, подсчитайте количество пикселей, которые имеют определенный цвет в области экрана, найдите цвет (-ы) пикселей в области, дождитесь, когда пиксель или область экрана имеют определенный цвет, дождитесь цвета пикселя и запустите некоторые другие (например, переместите курсор для того, чтобы отключить экран, пока вы ожидаете определенного цвета).

Но, как я уже сказал, это намного больше, например, имитация щелчков мыши и клавиатура, снятие экрана с экрана и многое другое.

2
ответ дан 25 July 2018 в 22:47

Это немного cludgy, но вы можете достичь этого с помощью xdotool, который позволяет вам взаимодействовать с мышью, и grabc, который получает цвет из местоположения, щелкнутого по экрану.

sudo apt-get install xdotool grabc

Первый запуск grabc но background it

grabc &

Затем выполните mouseclick, используя xdotool

xdotool click 1

Щелчок будет захвачен курсором grabc и фоновым процессом с выводом цвета.

5
ответ дан 25 July 2018 в 22:47
  • 1
    Интересный, misterben .. "cludgy" может быть хорошо;) Я недавно услышал высказывание. «черная кошка, белая кошка, табби-кошка .. до тех пор, пока она ловит мышь» ... но я смутно вспоминаю, что вижу что-то на одной из информационных страниц макрообъекта о пикселях (но, возможно, это было только относительно координат ) ... Я хочу запросить строку пикселей по экрану, и я бы хотел избежать переключения курсора, вызванного grabc ... Теперь, когда я увидел & quot; grabc & quot; в действии, я бы предпочел что-то, что захватывает цвет, основанный на координатах (я делал это довольно часто в Windows :( ... Надеюсь, что что-то похожее для Linux :) – Peter.O 8 December 2010 в 14:59
  • 2
    Вы можете использовать xdotool для получения координат указателя и использования их с помощью скрипта python htorque. xdotool getmouselocation | sed -e 's/x://' -e 's/y://' -e 's/ screen:.*$//' захватит координаты и очистит их до пробелов, разделенных значениями x y, чтобы передать этот сценарий. – misterben 8 December 2010 в 15:08
  • 3
    misterben, спасибо за вашу помощь, я узнал больше о backgrouding (очень удобно) .... Я не понимал этого, когда я сначала задал вопрос, но «получить цвет по координатам». метод оказался способ пойти. – Peter.O 8 December 2010 в 15:48
  • 4
    Я только что попробовал свой xdtool getmouselocation ... очень приятно, спасибо ... полезность sed просто держит меня на удивление! – Peter.O 8 December 2010 в 16:12

Другое решение, использующее xwd и xdotool:

xwd -root -silent | convert xwd:- -depth 8 -crop "1x1+$X+$Y" txt:- | grep -om1 '#\w\+'

, где $X и $Y - ваши координаты.

Как часть Xorg xwd следует предустановить в вашей системе. xdotool можно установить с помощью:

sudo apt-get install xdotool

Основываясь на ответе @ Christian на StackOverflow Q & amp; A и этой теме imagemagick.org.

2
ответ дан 27 July 2018 в 00:21
  • 1
    Спасибо, он работает, хотя он намного медленнее (реальный 0.363s пользователь 0.456s sys 0.064s), чем скрипт python htorque (реальный 0.097s пользователь 0.072s sys 0.020s). – Peter.O 27 August 2014 в 21:05
  • 2
    @ Peter.O Да, но это верно только в том случае, если питон и импортированные библиотеки уже кэшированы в вашей памяти. При холодном запуске сценарий python будет значительно медленнее. Поэтому, если ваш скрипт запускается только иногда, вы можете захотеть использовать мое решение. PS: Вы можете ускорить процесс, если знаете, какое окно вы хотите проверить. xwd поддерживает скриншоты определенных идентификаторов окон, поэтому вы можете запросить идентификатор окна (например, xdotool search --name "$Win" | head -n1), а затем передать его на xwd с помощью xwd -id "$WinID" -silent | .... Примечание: в этом случае координаты будут относительно окна. – Glutanimate 28 August 2014 в 00:37

Я написал модуль python для таких операций, как Macropolo. Но это гораздо больше, чем просто получение цвета на экране.

Вот сообщение на форуме, где я поделился им: http://ubuntuforums.org/showthread.php?t = 2155281

Модуль имеет много функций, которые позволяют вам, например, подсчитайте количество пикселей, которые имеют определенный цвет в области экрана, найдите цвет (-ы) пикселей в области, дождитесь, когда пиксель или область экрана имеют определенный цвет, дождитесь цвета пикселя и запустите некоторые другие (например, переместите курсор для того, чтобы отключить экран, пока вы ожидаете определенного цвета).

Но, как я уже сказал, это намного больше, например, имитация щелчков мыши и клавиатура, снятие экрана с экрана и многое другое.

2
ответ дан 27 July 2018 в 00:21

Это немного cludgy, но вы можете достичь этого с помощью xdotool, который позволяет вам взаимодействовать с мышью, и grabc, который получает цвет из местоположения, щелкнутого по экрану.

sudo apt-get install xdotool grabc

Первый запуск grabc но background it

grabc &

Затем выполните mouseclick, используя xdotool

xdotool click 1

Щелчок будет захвачен курсором grabc и фоновым процессом с выводом цвета.

5
ответ дан 27 July 2018 в 00:21
  • 1
    Интересный, misterben .. "cludgy" может быть хорошо;) Я недавно услышал высказывание. «черная кошка, белая кошка, табби-кошка .. до тех пор, пока она ловит мышь» ... но я смутно вспоминаю, что вижу что-то на одной из информационных страниц макрообъекта о пикселях (но, возможно, это было только относительно координат ) ... Я хочу запросить строку пикселей по экрану, и я бы хотел избежать переключения курсора, вызванного grabc ... Теперь, когда я увидел & quot; grabc & quot; в действии, я бы предпочел что-то, что захватывает цвет, основанный на координатах (я делал это довольно часто в Windows :( ... Надеюсь, что что-то похожее для Linux :) – Peter.O 8 December 2010 в 14:59
  • 2
    Вы можете использовать xdotool для получения координат указателя и использования их с помощью скрипта python htorque. xdotool getmouselocation | sed -e 's/x://' -e 's/y://' -e 's/ screen:.*$//' захватит координаты и очистит их до пробелов, разделенных значениями x y, чтобы передать этот сценарий. – misterben 8 December 2010 в 15:08
  • 3
    misterben, спасибо за вашу помощь, я узнал больше о backgrouding (очень удобно) .... Я не понимал этого, когда я сначала задал вопрос, но «получить цвет по координатам». метод оказался способ пойти. – Peter.O 8 December 2010 в 15:48
  • 4
    Я только что попробовал свой xdtool getmouselocation ... очень приятно, спасибо ... полезность sed просто держит меня на удивление! – Peter.O 8 December 2010 в 16:12

Другое решение, использующее xwd и xdotool:

xwd -root -silent | convert xwd:- -depth 8 -crop "1x1+$X+$Y" txt:- | grep -om1 '#\w\+'

, где $X и $Y - ваши координаты.

Как часть Xorg xwd следует предустановить в вашей системе. xdotool можно установить с помощью:

sudo apt-get install xdotool

Основываясь на ответе @ Christian на StackOverflow Q & amp; A и этой теме imagemagick.org.

2
ответ дан 31 July 2018 в 10:49
  • 1
    Спасибо, он работает, хотя он намного медленнее (реальный 0.363s пользователь 0.456s sys 0.064s), чем скрипт python htorque (реальный 0.097s пользователь 0.072s sys 0.020s). – Peter.O 27 August 2014 в 21:05
  • 2
    @ Peter.O Да, но это верно только в том случае, если питон и импортированные библиотеки уже кэшированы в вашей памяти. При холодном запуске сценарий python будет значительно медленнее. Поэтому, если ваш скрипт запускается только иногда, вы можете захотеть использовать мое решение. PS: Вы можете ускорить процесс, если знаете, какое окно вы хотите проверить. xwd поддерживает скриншоты определенных идентификаторов окон, поэтому вы можете запросить идентификатор окна (например, xdotool search --name "$Win" | head -n1), а затем передать его на xwd с помощью xwd -id "$WinID" -silent | .... Примечание: в этом случае координаты будут относительно окна. – Glutanimate 28 August 2014 в 00:37

Я написал модуль python для таких операций, как Macropolo. Но это гораздо больше, чем просто получение цвета на экране.

Вот сообщение на форуме, где я поделился им: http://ubuntuforums.org/showthread.php?t = 2155281

Модуль имеет много функций, которые позволяют вам, например, подсчитайте количество пикселей, которые имеют определенный цвет в области экрана, найдите цвет (-ы) пикселей в области, дождитесь, когда пиксель или область экрана имеют определенный цвет, дождитесь цвета пикселя и запустите некоторые другие (например, переместите курсор для того, чтобы отключить экран, пока вы ожидаете определенного цвета).

Но, как я уже сказал, это намного больше, например, имитация щелчков мыши и клавиатура, снятие экрана с экрана и многое другое.

2
ответ дан 31 July 2018 в 10:49

Это немного cludgy, но вы можете достичь этого с помощью xdotool, который позволяет вам взаимодействовать с мышью, и grabc, который получает цвет из местоположения, щелкнутого по экрану.

sudo apt-get install xdotool grabc

Первый запуск grabc но background it

grabc &

Затем выполните mouseclick, используя xdotool

xdotool click 1

Щелчок будет захвачен курсором grabc и фоновым процессом с выводом цвета.

5
ответ дан 31 July 2018 в 10:49
  • 1
    Интересный, misterben .. "cludgy" может быть хорошо;) Я недавно услышал высказывание. «черная кошка, белая кошка, табби-кошка .. до тех пор, пока она ловит мышь» ... но я смутно вспоминаю, что вижу что-то на одной из информационных страниц макрообъекта о пикселях (но, возможно, это было только относительно координат ) ... Я хочу запросить строку пикселей по экрану, и я бы хотел избежать переключения курсора, вызванного grabc ... Теперь, когда я увидел & quot; grabc & quot; в действии, я бы предпочел что-то, что захватывает цвет, основанный на координатах (я делал это довольно часто в Windows :( ... Надеюсь, что что-то похожее для Linux :) – Peter.O 8 December 2010 в 14:59
  • 2
    Вы можете использовать xdotool для получения координат указателя и использования их с помощью скрипта python htorque. xdotool getmouselocation | sed -e 's/x://' -e 's/y://' -e 's/ screen:.*$//' захватит координаты и очистит их до пробелов, разделенных значениями x y, чтобы передать этот сценарий. – misterben 8 December 2010 в 15:08
  • 3
    misterben, спасибо за вашу помощь, я узнал больше о backgrouding (очень удобно) .... Я не понимал этого, когда я сначала задал вопрос, но «получить цвет по координатам». метод оказался способ пойти. – Peter.O 8 December 2010 в 15:48
  • 4
    Я только что попробовал свой xdtool getmouselocation ... очень приятно, спасибо ... полезность sed просто держит меня на удивление! – Peter.O 8 December 2010 в 16:12

Другое решение, использующее xwd и xdotool:

xwd -root -silent | convert xwd:- -depth 8 -crop "1x1+$X+$Y" txt:- | grep -om1 '#\w\+'

, где $X и $Y - ваши координаты.

Как часть Xorg xwd следует предустановить в вашей системе. xdotool можно установить с помощью:

sudo apt-get install xdotool

Основываясь на ответе @ Christian на StackOverflow Q & amp; A и этой теме imagemagick.org.

2
ответ дан 31 July 2018 в 10:55
  • 1
    Спасибо, он работает, хотя он намного медленнее (реальный 0.363s пользователь 0.456s sys 0.064s), чем скрипт python htorque (реальный 0.097s пользователь 0.072s sys 0.020s). – Peter.O 27 August 2014 в 21:05
  • 2
    @ Peter.O Да, но это верно только в том случае, если питон и импортированные библиотеки уже кэшированы в вашей памяти. При холодном запуске сценарий python будет значительно медленнее. Поэтому, если ваш скрипт запускается только иногда, вы можете захотеть использовать мое решение. PS: Вы можете ускорить процесс, если знаете, какое окно вы хотите проверить. xwd поддерживает скриншоты определенных идентификаторов окон, поэтому вы можете запросить идентификатор окна (например, xdotool search --name "$Win" | head -n1), а затем передать его на xwd с помощью xwd -id "$WinID" -silent | .... Примечание: в этом случае координаты будут относительно окна. – Glutanimate 28 August 2014 в 00:37

Я написал модуль python для таких операций, как Macropolo. Но это гораздо больше, чем просто получение цвета на экране.

Вот сообщение на форуме, где я поделился им: http://ubuntuforums.org/showthread.php?t = 2155281

Модуль имеет много функций, которые позволяют вам, например, подсчитайте количество пикселей, которые имеют определенный цвет в области экрана, найдите цвет (-ы) пикселей в области, дождитесь, когда пиксель или область экрана имеют определенный цвет, дождитесь цвета пикселя и запустите некоторые другие (например, переместите курсор для того, чтобы отключить экран, пока вы ожидаете определенного цвета).

Но, как я уже сказал, это намного больше, например, имитация щелчков мыши и клавиатура, снятие экрана с экрана и многое другое.

2
ответ дан 31 July 2018 в 10:55

Это немного cludgy, но вы можете достичь этого с помощью xdotool, который позволяет вам взаимодействовать с мышью, и grabc, который получает цвет из местоположения, щелкнутого по экрану.

sudo apt-get install xdotool grabc

Первый запуск grabc но background it

grabc &

Затем выполните mouseclick, используя xdotool

xdotool click 1

Щелчок будет захвачен курсором grabc и фоновым процессом с выводом цвета.

5
ответ дан 31 July 2018 в 10:55
  • 1
    Интересный, misterben .. "cludgy" может быть хорошо;) Я недавно услышал высказывание. «черная кошка, белая кошка, табби-кошка .. до тех пор, пока она ловит мышь» ... но я смутно вспоминаю, что вижу что-то на одной из информационных страниц макрообъекта о пикселях (но, возможно, это было только относительно координат ) ... Я хочу запросить строку пикселей по экрану, и я бы хотел избежать переключения курсора, вызванного grabc ... Теперь, когда я увидел & quot; grabc & quot; в действии, я бы предпочел что-то, что захватывает цвет, основанный на координатах (я делал это довольно часто в Windows :( ... Надеюсь, что что-то похожее для Linux :) – Peter.O 8 December 2010 в 14:59
  • 2
    Вы можете использовать xdotool для получения координат указателя и использования их с помощью скрипта python htorque. xdotool getmouselocation | sed -e 's/x://' -e 's/y://' -e 's/ screen:.*$//' захватит координаты и очистит их до пробелов, разделенных значениями x y, чтобы передать этот сценарий. – misterben 8 December 2010 в 15:08
  • 3
    misterben, спасибо за вашу помощь, я узнал больше о backgrouding (очень удобно) .... Я не понимал этого, когда я сначала задал вопрос, но «получить цвет по координатам». метод оказался способ пойти. – Peter.O 8 December 2010 в 15:48
  • 4
    Я только что попробовал свой xdtool getmouselocation ... очень приятно, спасибо ... полезность sed просто держит меня на удивление! – Peter.O 8 December 2010 в 16:12

Другое решение, использующее xwd и xdotool:

xwd -root -silent | convert xwd:- -depth 8 -crop "1x1+$X+$Y" txt:- | grep -om1 '#\w\+'

, где $X и $Y - ваши координаты.

Как часть Xorg xwd следует предустановить в вашей системе. xdotool можно установить с помощью:

sudo apt-get install xdotool

Основываясь на ответе @ Christian на StackOverflow Q & amp; A и этой теме imagemagick.org.

2
ответ дан 2 August 2018 в 04:11
  • 1
    Спасибо, он работает, хотя он намного медленнее (реальный 0.363s пользователь 0.456s sys 0.064s), чем скрипт python htorque (реальный 0.097s пользователь 0.072s sys 0.020s). – Peter.O 27 August 2014 в 21:05
  • 2
    @ Peter.O Да, но это верно только в том случае, если питон и импортированные библиотеки уже кэшированы в вашей памяти. При холодном запуске сценарий python будет значительно медленнее. Поэтому, если ваш скрипт запускается только иногда, вы можете захотеть использовать мое решение. PS: Вы можете ускорить процесс, если знаете, какое окно вы хотите проверить. xwd поддерживает скриншоты определенных идентификаторов окон, поэтому вы можете запросить идентификатор окна (например, xdotool search --name "$Win" | head -n1), а затем передать его на xwd с помощью xwd -id "$WinID" -silent | .... Примечание: в этом случае координаты будут относительно окна. – Glutanimate 28 August 2014 в 00:37

Я написал модуль python для таких операций, как Macropolo. Но это гораздо больше, чем просто получение цвета на экране.

Вот сообщение на форуме, где я поделился им: http://ubuntuforums.org/showthread.php?t = 2155281

Модуль имеет много функций, которые позволяют вам, например, подсчитайте количество пикселей, которые имеют определенный цвет в области экрана, найдите цвет (-ы) пикселей в области, дождитесь, когда пиксель или область экрана имеют определенный цвет, дождитесь цвета пикселя и запустите некоторые другие (например, переместите курсор для того, чтобы отключить экран, пока вы ожидаете определенного цвета).

Но, как я уже сказал, это намного больше, например, имитация щелчков мыши и клавиатура, снятие экрана с экрана и многое другое.

2
ответ дан 2 August 2018 в 04:11

Это немного cludgy, но вы можете достичь этого с помощью xdotool, который позволяет вам взаимодействовать с мышью, и grabc, который получает цвет из местоположения, щелкнутого по экрану.

sudo apt-get install xdotool grabc

Первый запуск grabc но background it

grabc &

Затем выполните mouseclick, используя xdotool

xdotool click 1

Щелчок будет захвачен курсором grabc и фоновым процессом с выводом цвета.

5
ответ дан 2 August 2018 в 04:11
  • 1
    Интересный, misterben .. "cludgy" может быть хорошо;) Я недавно услышал высказывание. «черная кошка, белая кошка, табби-кошка .. до тех пор, пока она ловит мышь» ... но я смутно вспоминаю, что вижу что-то на одной из информационных страниц макрообъекта о пикселях (но, возможно, это было только относительно координат ) ... Я хочу запросить строку пикселей по экрану, и я бы хотел избежать переключения курсора, вызванного grabc ... Теперь, когда я увидел & quot; grabc & quot; в действии, я бы предпочел что-то, что захватывает цвет, основанный на координатах (я делал это довольно часто в Windows :( ... Надеюсь, что что-то похожее для Linux :) – Peter.O 8 December 2010 в 14:59
  • 2
    Вы можете использовать xdotool для получения координат указателя и использования их с помощью скрипта python htorque. xdotool getmouselocation | sed -e 's/x://' -e 's/y://' -e 's/ screen:.*$//' захватит координаты и очистит их до пробелов, разделенных значениями x y, чтобы передать этот сценарий. – misterben 8 December 2010 в 15:08
  • 3
    misterben, спасибо за вашу помощь, я узнал больше о backgrouding (очень удобно) .... Я не понимал этого, когда я сначала задал вопрос, но «получить цвет по координатам». метод оказался способ пойти. – Peter.O 8 December 2010 в 15:48
  • 4
    Я только что попробовал свой xdtool getmouselocation ... очень приятно, спасибо ... полезность sed просто держит меня на удивление! – Peter.O 8 December 2010 в 16:12

Это немного cludgy, но вы можете достичь этого с помощью xdotool, который позволяет вам взаимодействовать с мышью и grabc, который получает цвет из местоположения, щелкнутого по экрану.

  sudo apt-  get install xdotool grabc  

Сначала запустите grabc, но запустите его

  grabc & amp;   

Затем выполните mouseclick, используя xdotool

  xdotool click 1  

Щелчок будет захвачен курсором grabc и фоновый процесс с выводом цвета.

5
ответ дан 4 August 2018 в 20:15

Другие вопросы по тегам:

Похожие вопросы: