Si vous travaillez avec le module media
, vous pouvez le faire:
import media
def invert():
filename = media.choose_file() # opens a select file dialog
pic = media.load_picture(filename) # converts the picture file into a "picture" as recognized by the module.
for pixel in pic:
media.set_red(pixel, 255-media.get_red(pixel)) # the inverting algorithm as suggested by @Dingle
media.set_green(pixel, 255-media.get_green(pixel))
media.set_blue(pixel, 255-media.get_blue(pixel))
print 'Done!'
Le processus est similaire si vous utilisez le module picture
, et ressemble à ceci:
import picture
def invert():
filename = picture.pick_a_file() # opens a select file dialog
pic = picture.make_picture(filename) # converts the picture file into a "picture" as recognized by the module.
for pixel in picture.get_pixels(pic):
picture.set_red(pixel, 255-picture.get_red(pixel)) # the inverting algorithm as suggested by @Dingle
picture.set_green(pixel, 255-picture.get_green(pixel))
picture.set_blue(pixel, 255-picture.get_blue(pixel))
print 'Done!'
Espérons que cela aide
Pourquoi «inverser» ne fonctionne pas pour vous? –
* Ahem * c'est bien pour une mission d'être honnête (seulement une partie) et nous ne sommes pas autorisés à prendre la route 'facile' d'invert. J'ai déjà essayé et j'ai été rejeté. :(Apparemment, nous devons utiliser des boucles. – Gresham