我有以下代码
import matplotlib.cm as cm
# cm.spring() is a color map
# E.g., print(cm.spring(4)) outputs (1.0, 0.01568627450980392, 0.9843137254901961, 1.0) which is a RGB color
from PIL import Image, ImageDraw
# Create a black image
img = Image.new('P', (100, 100))
NUM_OF_COLORS = 5
# I want my palette to consist of the first N elements of the color map
img.putpalette(matplotlib.cm.spring()[:NUM_OF_COLORS])
即,我知道我的图像中有N种颜色,但是我不想手动指定它们,因此我想放置N
种颜色(来自matplotlib.cm
或其他任何颜色映射到调色板,然后将其用作indexed colors,以创建浅色png
图像。
我应该如何改变
img.putpalette(matplotlib.cm.spring()[:NUM_OF_COLORS])
使之起作用?