2016-12-23 10 views
1

Я пытался использовать модуль PIL, чтобы сделать градиент ColorpickerСделан градиент с модулем PIL, оказались темнее

Like this.

Я сделал код, чтобы проверить:

from PIL import Image 

img = Image.new('HSV', (255,255), "white") 
pix = img.load() 

H = 0 
for x in range(img.size[0]): 
    S =(int(100*(x/float(img.size[0])))) # A % of image width 

    for y in range(img.size[1]): 
     V = (int(100*(1-(y/float(img.size[1]))))) # A % of image height 

     pix[x,y] = (H,S,V) 

img.show() 

But my image turns out dark. Что я сделал не так?

ответ

3

Вы генерируете значения S и V в диапазоне 0..100. Однако я уверен, что изображение PIL HSV использует значения 0..255; другими словами, вы используете только нижние 40% диапазона.

+0

i хотя значения S и V должны были быть процентами – Daniel

+0

Ну, это сработало, поэтому спасибо. – Daniel

+1

Вы можете разумно представить значения * пользователю * в процентах, но в качестве формата хранения изображений было бы глупо не использовать все биты в байте. – jasonharper