У меня есть следующий код
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
или любой другой карты цветов) до палитры, чтобы использовать их в качестве индексированных цветов впоследствии для создания светлого png
изображения.
Как мне изменить img.putpalette(matplotlib.cm.spring()[:NUM_OF_COLORS])
чтобы это заработало?