Установка уровней RGB пикселей (Python, Jython) - PullRequest
1 голос
/ 29 января 2010
   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)

Остальная часть невидимого кода верна, я просто не могу понять, как сформулировать эту функцию достаточно хорошо, чтобы она работала.

Ответы [ 2 ]

1 голос
/ 01 февраля 2010

Я ничего не знаю об остальной части вашего кода, но это будет примерно так:

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 голосов
/ 02 февраля 2010

Вы используете 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))

Ох ... Я вижу, ты понял. Ну, в любом случае я опубликую это.

...