このコードは、マウスポインターのX-Y座標、RGB値、およびHEX値を即座に示します。座標とRGB値は正しいですが、しばらくしてから、16進数の値が間違った結果になります。マウスポインターのPythonコードでHEX値を返すエラー
import pyautogui
import time
def print_no_newline(string):
import sys
sys.stdout.write("\r")
sys.stdout.write(string)
sys.stdout.flush()
try:
while True:
x, y = pyautogui.position()
pixelColor = pyautogui.screenshot().getpixel((x, y))
ss = 'X: ' + str(x).rjust(4) + ' Y: ' + str(y).rjust(4)
r = int(str(pixelColor[0]).rjust(3))
g = int(str(pixelColor[1]).rjust(3))
b = int(str(pixelColor[2]).rjust(3))
hex = "#{:02x}{:02x}{:02x}".format(r,g,b)
hexstr=str(hex)
res= ss + ' RGB: ('+ str(r) +','+ str(g) +','+ str(b) +') '+ 'HEX: '+
hexstr
print_no_newline(res)
time.sleep(1.0)
except KeyboardInterrupt:
print("\nDone...")
後でも
res= ss + ' RGB: ('+ str(r) +','+ str(g) +','+ str(b) +') '+ 'HEX: '+
hexstr[:7]
を使用して六角の最初の6つの文字を返すようにhexstrのクリップしようとしたが、それは
サンプル出力
X動作didntは:489 Yが: 622 RGB:(0,2,130)16進数:#000282eff
X:545 Y:710 RGB:(0,0,0)HEX:#000000f1f1f1
以前の位置からゴミ値を戻していますか?