如何一致地绘制kivy线

时间:2013-01-09 04:36:30

标签: python opengl kivy

我正试图在按钮中间画一个简单的“X”。我已经输入了以下图纸代码:

    width, height = self.size
    x, y = self.pos
    x1, x2 = x + int(width*0.3), x + int(width*0.7)
    y1, y2 = y + int(height*0.3), y + int(height*0.7)
    with self.canvas:
        Line(points=[x1, y1, x2, y2], width=1, cap='none')
        Line(points=[x2, y1, x1, y2], width=1, cap='none')
    self.canvas.ask_update()

两条对角线,即使它们使用完全相同的整数坐标,也不是相同的。左上角到右下角绘制了别名,而另一个则没有。我怎样才能使它们保持一致?

enter image description here

我应该提一下,我正在使用Windows版本的kivy进行测试,而我还没有在任何其他平台上尝试过它。

2 个答案:

答案 0 :(得分:1)

在x / y坐标上添加0.5或0.375。

答案 1 :(得分:1)

宽度= 1.0的Line指令使用GL_LINE,然后根据图形卡功能和多重采样的数量完成别名。我对ATI和NVIDIA卡有不同的结果。

如果使用宽度!= 1.0(假设宽度= 0.75),我们将构建一个带三角形的网格。结果似乎更加一致。你能试试吗?