Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #>_ LiterallySatan
- import pyautogui
- import math
- from PIL import Image
- offset = [426, 320+2] #obere linke ecke des zeichenfeldes
- offsetPalette = [1100,932] #mitte der ersten farbe
- stepPalette = 12 #breite der einzelnen paletten flächen
- step = 4 #abstand der einzelnen "pixel"
- pyautogui.PAUSE = 0.02 #zeit pro klick (viel mehr als 50hz führt zu problemen) dadurch braucht das zeichnen eine gewisse weile
- lastColor = 32
- palette = [[214,160,144], #farben der palette
- [254,59,30],
- [161,44,50],
- [250,47,122],
- [251,159,218],
- [230,28,247],
- [153,47,124],
- [71,1,31],
- [5,17,85],
- [79,2,236],
- [45,105,203],
- [0,166,238],
- [111,235,255],
- [8,162,154],
- [42,102,106],
- [6,54,25],
- [0,0,0],
- [74,53,87],
- [142,123,164],
- [183,192,255],
- [255,255,255],
- [172,190,156],
- [130,124,122],
- [90,59,28],
- [174,101,7],
- [247,170,48],
- [244,234,92],
- [155,149,0],
- [86,98,4],
- [17,170,59],
- [81,225,19],
- [8,253,204]]
- def minValueID(values):
- minValue = values[0]
- minID = 0
- for i in range(len(values)):
- if (values[i] < minValue):
- minValue = values[i]
- minID = i
- return minID
- def mapColor(color):
- distances = []
- for paletteColor in palette:
- distances.append(math.sqrt((paletteColor[0]-color[0])**2+(paletteColor[1]-color[1])**2+(paletteColor[2]-color[2])**2))
- return minValueID(distances)
- im = Image.open("image3.png") #bildquelle auflösung * step = 1052x580 für querformat
- im = im.convert("RGB")
- for y in range(im.size[1]):
- for x in range(im.size[0]):
- color = mapColor(im.getpixel((x,y)))
- if (color != lastColor):
- pyautogui.click(color*stepPalette+offsetPalette[0],offsetPalette[1])
- lastColor = color
- pyautogui.click(x*step+offset[0], y*step+offset[1])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement