pyx модуль: как сделать цвет прозрачным


Я пытался (и потерпел неудачу!) чтобы получить pyx нарисовать прозрачный круг над прямоугольником.

Есть запись о transparency в руководстве, но я не смог понять, как его использовать. matplotlib использовал бы для этого alpha, но я не смог найти такой записи в документации pyx.

В моем примере я пытаюсь нарисовать синюю прозрачную циклу над сплошным прямоугольником. кто-нибудь здесь знает, как это сделать?
from pyx import canvas, path, color
from pathlib import Path

HERE = Path(__file__).parent

out_path = HERE / 'pyx_test'

c = canvas.canvas()
c.fill(path.rect(-5, -5, 10, 10), [color.rgb.red])
# color.transparency(value) ...?
c.fill(path.circle(0, 0, 6), [color.rgb.blue])
c.writePDFfile(str(out_path))
print('wrote "{}"'.format(out_path))
1 3

1 ответ:

Прозрачность цвета должна передаваться вместе с методом заливки.

Вы можете попробовать это:

from pyx import canvas, path, color
from pathlib import Path

HERE = Path(__file__).parent

out_path = HERE / 'pyx_test'

c = canvas.canvas()
c.fill(path.rect(-5, -5, 10, 10), [color.rgb.red])
c.fill(path.circle(0, 0, 6), [color.rgb.blue,color.transparency(0.75)])
c.writePDFfile(str(out_path))
print('wrote "{}"'.format(out_path))