2010-01-28 2 views
1
For each pixel in pic: 
    r= random()  
    if r < 0.25:  
    set the red level to randrange(0,256), 
    set the green level to randrange(0,256) 
    set the blue level to randrange(0,256) 

Остальная часть невидимого кода верна, я просто не могу понять, как правильно сформулировать эту функцию, чтобы она работала.Настройка уровней RGB пикселей (Python, Jython)

+0

Каков формат 'pixel'? – ezod

+0

Вы можете начать с отступов. Смесь вкладок и пробелов - это не очень хорошая идея ... – Thomas

+0

для px в getPixels (pic) – roger34

ответ

1

Я ничего об остальной части кода не знаю, но это было бы что-то вроде этого:

import random 

for pixel in pic.get_pixels(): # Replace with appropiate way of getting the pixels 
    if random.random() < 0.25: 
     pixel.red = random.randint(256) 
     pixel.green = random.randint(256) 
     pixel.blue = random.randint(256) 

Опять же, я не знаю, как вы получите список пикселей, или как вы устанавливаете значения RGB для каждого из них, но результат будет примерно таким.

0

Вы используете PIL?

Если так один вариант, чтобы сделать что-то вроде этого


your_image = Image.new("RGB", (512, 512), "white") 
for x in xrange(your_image.size[0]): 
    for y in xrange(your_image.size[1]): 
     your_image.putpixel((x,y),(random.randint(256), random.randint(256), random.randint(256)) 

О ... Я вижу, что вы его получили. Хорошо, я опубликую это в любом случае.

Смежные вопросы