Найти - Пользователи
Полная версия: Помогите разобраться с функцией
Начало » Python для новичков » Помогите разобраться с функцией
1 2
Kadony
PEHDOM
Спасибо шеф, нужен только один пиксель
Kadony
http://rosettacode.org/wiki/Color_of_a_screen_pixel#Python - вот ссылка откуда я взял вот тот код , сверху
Всё я разобрался как выводить, теперь нужно понять как внедрить сравнение цветов в IF
PEHDOM
Kadony
теперь нужно понять как внедрить сравнение цветов в IF
ну оно же вам возвращает цвет в виде (R,G,B), просто берете и сравниваете
 >>> (10,10,10) == (10,10,10)
True
>>> (10,10,10) == (255, 255, 255)
False
>>>
Kadony
PEHDOM
Обьясни пожалуйста, Я в ахк пишу
PixelGetColor, color , 545, 544, alt - колор - это имя переменной где будет храниться значение цвета
PixelGetColor, color, 1242, 420, alt

if ( color = 0xFFFFFF )

то что то делается

Вот что я написал на питоне , почему не получается?
 def get_pixel_colour(i_x = 500, i_y = 500):
	import win32gui
	i_desktop_window_id = win32gui.GetDesktopWindow()
	i_desktop_window_dc = win32gui.GetWindowDC(i_desktop_window_id)
	long_colour = win32gui.GetPixel(i_desktop_window_dc, i_x, i_y)
	i_colour = int(long_colour)
	return (i_colour & 0xff), ((i_colour >> 8) & 0xff), ((i_colour >> 16) & 0xff)
 	
print (get_pixel_colour())
if  get_pixel_colour == (30, 30, 30)
	print("jesus")
Ошибка invalid syntax в 11 строке , тоесть в условии if
PEHDOM
Kadony
почему не получается?
скобочек не хватает, и двоеточия
 if  get_pixel_colour() == (30, 30, 30):

ЗЫ да и импорт таки лучше вынести из функции и поместить в начало скрипта, несмотря на то что“умный” пайтон позволяет производить импорт в любом месте и не импортирует модуль если он уже импортирован, так правильнее с точки зрения читабельности кода.
Kadony
PEHDOM
Спасибо, вы серьезно ускорили мое обучение
justicek
вот я починил как мне теперь указать координаты для того чтобы с определённой точки получать цвет пикселя
Kadony
justicek
вот я починил как мне теперь указать координаты для того чтобы с определённой точки получать цвет пикселя
 import PIL.ImageGrab
import pyautogui
import time
def get_pixel_colour(i_x = 1051, i_y = 903):
	return PIL.ImageGrab.grab().load()[i_x, i_y]
def inventory(i_x = 1575, i_y = 439):
	return PIL.ImageGrab.grab().load()[i_x, i_y]
def check(i_x = 784, i_y = 1069):
	return PIL.ImageGrab.grab().load()[i_x, i_y]
def fishing():
    x = 1
    while x < 2:
	    pyautogui.click(x=550, y=540, clicks=4)
	    time.sleep(2)
	    pyautogui.press('i')
	    if inventory() == (262, 95, 28):
	    	x += 1
	    else:
	    	time.sleep(2)
	    	pyautogui.click(x=550, y=414, interval=0.5)
	    	pyautogui.click(x=550, y=532, interval=0.5)
	    	while check() != (78, 255, 0):
	    		if get_pixel_colour() == (255, 0, 0):
	    			time.sleep(0.5)
		    		pyautogui.click(x=1053, y=903, clicks=3200)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB