2017-08-17 98 views
1

我用下面的代码绘制一个简单循环:为什么使用处理绘制的圆圈如此锯齿?

import processing.core.PApplet; 

public class A3 extends PApplet { 

    public static void main(String[] args) { 
     PApplet.main(A3.class.getCanonicalName()); 
    } 

    public void settings() { 
     size(800, 600); 

    } 

    public void draw() { 
     background(255); 
     stroke(0); 
     ellipse(200,200,300,300); 
    } 

    public void setup() { 
     background(255); 

    } 
} 

,结果是以下锯齿状圆圈: The jagged circle

我一直在使用smooth(8);尝试过,但它并没有帮助。

回答

3

你认为它看起来像什么?

请注意,您只会看到“锯齿状”,因为您增加了图片的大小。下面是你应该真正看到:

anti-aliased circle

我不会把这个圈子锯齿状。实际上,默认情况下,Processing使用消除锯齿功能来使图画看起来更加平滑。尝试通过调用noSmooth()setup()函数内部禁用此,你会看到这一点:

non anti-aliased circle

对我来说,看起来更平滑。

您还可以尝试通过在draw()函数内调用strokeWeight()来增加线宽。下面是strokeWeight(8)

thick circle

说实话,如果我是你,我只想不用担心这个。处理默认情况下使用了抗锯齿功能,因此在没有任何特殊处理的情况下,一切都应该看起来很合理。如果你在任何像素图上看得足够近,你会发现一些锯齿。

+0

我其实确实看到了锯齿而没有缩放图片,这就是首先引发这个问题的原因。但我想你是对的,它无法帮助...无论如何。 – HappyFace