2017-08-17 104 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