Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Kivy:画布的抗锯齿_Python_Canvas_Kivy_Fxaa - Fatal编程技术网

Python Kivy:画布的抗锯齿

Python Kivy:画布的抗锯齿,python,canvas,kivy,fxaa,Python,Canvas,Kivy,Fxaa,当我创建一个小部件,并在画布上画一个圆圈时,圆圈没有平滑的轮廓。为了解决这个问题,我认为一个EffectWidget会对我有所帮助,就像它曾经使用一个ImageWidget一样。但在画布上画一个圆圈后启用FXAAEffect并没有改变任何事情。有没有一种方法可以直接为Python Kivy的画布启用抗锯齿?(即使仅适用于图像)EffectWidget效果仅适用于子窗口小部件,而不适用于其自身的画布(由于其工作方式的技术限制,难以解决) 添加一个子小部件,并尝试在该装置上绘制圆圈 使用kivy本身

当我创建一个小部件,并在画布上画一个圆圈时,圆圈没有平滑的轮廓。为了解决这个问题,我认为一个EffectWidget会对我有所帮助,就像它曾经使用一个ImageWidget一样。但在画布上画一个圆圈后启用FXAAEffect并没有改变任何事情。有没有一种方法可以直接为Python Kivy的画布启用抗锯齿?(即使仅适用于图像)

EffectWidget效果仅适用于子窗口小部件,而不适用于其自身的画布(由于其工作方式的技术限制,难以解决)


添加一个子小部件,并尝试在该装置上绘制圆圈

使用kivy本身,您还可以启用硬件内多采样消除混叠,但我不记得如何启用,而且我认为如果可能的话,它可能已经启用(至少在较低级别)

编辑:如下所示:

<YourEffectWidget>:
    Widget:
        canvas:
            Color:
                rgba: 1, 1, 0, 1
            Ellipse:
                pos: 100, 100
                size: 50, 50
:
小装置:
画布:
颜色:
rgba:1,1,0,1
椭圆:
位置:100100
尺码:50,50

EffectWidget效果只在子部件上工作,而不是在它自己的画布上工作(由于其工作方式的技术限制,很难解决)


添加一个子小部件,并尝试在该装置上绘制圆圈

使用kivy本身,您还可以启用硬件内多采样消除混叠,但我不记得如何启用,而且我认为如果可能的话,它可能已经启用(至少在较低级别)

编辑:如下所示:

<YourEffectWidget>:
    Widget:
        canvas:
            Color:
                rgba: 1, 1, 0, 1
            Ellipse:
                pos: 100, 100
                size: 50, 50
:
小装置:
画布:
颜色:
rgba:1,1,0,1
椭圆:
位置:100100
尺码:50,50
我正在使用

effects: ew.HorizontalBlurEffect(size=0.1), ew.VerticalBlurEffect(size=0.1), ew.FXAAEffect()
我正在使用

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

“添加一个单子小部件,并尝试在该装置上绘制圆圈”-我不完全理解你的意思。好像每个圈子都有自己的小部件而不是一块大画布?这会太慢,因为我正在为AndroidGameNo编码,只需将一个小部件添加到EffectWidget并使用其画布。我添加了一个示例。然后发布了一个工作示例来演示这个问题。“添加一个单子小部件,然后尝试在该装置上画圆圈”-我不完全理解你的意思。好像每个圈子都有自己的小部件而不是一块大画布?这会太慢,因为我正在为AndroidGameNo编码,只需将一个小部件添加到EffectWidget并使用其画布。我添加了一个示例。然后发布一个工作示例来演示这个问题。好的,谢谢。。。但我的问题一年多前就发布了,我甚至不再使用Kivy了:DOk,谢谢。。。但我的问题在一年多前就发布了,我甚至不再使用Kivy了:你找到解决这个问题的方法了吗?如果你有,请写下来回答并接受。这个问题已经超过4年了。从那时起,我就再也没有和Kivy打过交道,因此从2016年起,我再也无法尝试给出的答案。我不记得当时我是如何处理这个问题的,但是这个问题的答案对我没有帮助,你可以在下面的评论中看到。你找到解决这个问题的方法了吗?如果你有,请写下来回答并接受。这个问题已经超过4年了。从那时起,我就再也没有和Kivy打过交道,因此从2016年起,我再也无法尝试给出的答案。我不记得当时我是如何处理这个问题的,但是这个问题的答案对我没有帮助,你可以从我下面的评论中看到。