4

我很难在我的代码中使用 hsl 颜色值...我的目标是根据坐标索引在数据集中出现的频率来更改图像中像素的不透明度。我正在从 csv 文件中提取数据,我得到的唯一错误是我使用了无效的 hsl 语法。这是我的代码的一部分:

    for row in reader:
        port = int(row[0])
        opacity = int(row[1])/1000
        x = port % 255
        y = int(port/257)
        color = hsl(0, 0%, opacity)
        draw.point([(x,y)], fill=color)
        del draw  

在 PIL 的网站上,我假设亮度和饱和度都必须是百分比。row[1] 的最大值是 999,因此不透明度永远不会 >1。预先感谢您的帮助!

4

1 回答 1

9

PIL 颜色被定义为字符串,而不是实际的 Python 函数。

color = 'hsl(%d, %d%%, %d%%)' % (hue, saturation, luminance)
draw.point((x, y), fill=color)

http://effbot.org/imagingbook/imagedraw.htm

于 2013-06-12T03:03:40.373 回答