Я недавно спросил о программе перекраски спрайтов, с которой у меня были трудности, и получил несколько отличных ответов. По сути, я пытался написать программу, которая перекрашивала бы пиксели всех изображений в данной папке из одного заданного цвета в другой.
Я полагаю, что это не так, но теперь программа сообщает мне, что для красного компонента моего цвета указано недопустимое значение. ValueError: Invalid red value specified.
Несмотря на то, что оно только изменяется с 64 на 56. Любая помощь по этому вопросу будет принята!
Вот код Python:
import os
import media
import sys
def recolour(old, new, folder):
old_list = old.split(' ')
new_list = new.split(' ')
folder_location = os.path.join('C:\\', 'Users', 'Owner', 'Spriting', folder)
for filename in os.listdir (folder):
current_file = media.load_picture(folder_location + '\\' + filename)
for pix in current_file:
if (media.get_red(pix) == int(old_list[0])) and \
(media.get_green(pix) == int(old_list[1])) and \
(media.get_blue(pix) == int(old_list[2])):
media.set_red(pix, new_list[0])
media.set_green(pix, new_list[1])
media.set_blue(pix, new_list[2])
media.save(pic)
если имя == ' main ':
while 1:
old = str(raw_input('Please insert the original RGB component, separated by a single space: '))
if old == 'quit':
sys.exit(0)
new = str(raw_input('Please insert the new RGB component, separated by a single space: '))
if new == 'quit':
sys.exit(0)
folder = str(raw_input('Please insert the name of the folder you wish to modify: '))
if folder == 'quit':
sys.exit(0)
else:
recolour(old, new, folder)