Python Kivy: антиалиасинг для холста

Когда я создаю виджет и рисую круг на его холсте, круг не имеет плавного контура. Чтобы исправить это, я подумал, что EffectWidget поможет мне, как это было раньше с ImageWidget на нем. Но включение FXAAEffect на него после рисования круга на холсте ничего не изменило. Есть ли способ, чтобы напрямую включить AntiAliasing для Python Kivy's Canvas? (Даже только для изображений)

2 ответа

Я использую

effects: ew.HorizontalBlurEffect(size=0.1), ew.VerticalBlurEffect(size=0.1), ew.FXAAEffect()

Эффекты EffectWidget работают только с дочерними виджетами, а не с собственным холстом (из-за технических ограничений на его работу, которые трудно разрешить).

Добавьте один дочерний виджет и попробуйте нарисовать круг на этом месте.

С самим kivy вы также можете включить встроенное сглаживание мультисэмплинга, но я не помню как, и я думаю, что он, вероятно, уже включен (по крайней мере, на низком уровне), если это возможно.

Изменить: как следующее:

<YourEffectWidget>:
    Widget:
        canvas:
            Color:
                rgba: 1, 1, 0, 1
            Ellipse:
                pos: 100, 100
                size: 50, 50
Другие вопросы по тегам