我遇到了 matplotlib 的问题。使用这些信息,我可以设置人物脸部的颜色和 alpha 值。但是,matplotlib 似乎坚持在渲染输出之前将其与白色隐式混合。
例如,使用以下内容:
import matplotlib.pyplot as plt
fig = plt.figure()
fig.set_facecolor('black')
fig.patch.set_alpha(0.3)
ax = fig.add_subplot(111, axis_bgcolor='black')
ax.plot([1, 2, 3], [1, 2, 3], color='white')
fig.savefig('test_fig.png', facecolor=fig.get_facecolor(), edgecolor='none')
中的图形背景像素test_fig.png
具有 RGBA 值(178, 178, 178, 77)
,而不是预期值(0,0,0,77)
。我尝试了多种颜色——在所有情况下,最终输出似乎都等同于指定的颜色+alpha 与不透明的白色混合,然后将 alpha 值重置为指定的原始值。
为什么会这样?是否有一些我缺少的颜色仍然设置为白色,或者这是 matplotlib 的错误?
编辑:事实上,这是 matplotlib 中的一个错误,并且已经进行了修复,并且应该存在于 1.3 版及更高版本中。