2017-02-18 25 views
1

這讓我瘋狂。這裏是我的設置:處理3 - 如何設置默認不透明度

background(0); 
stroke(255,255,255,255); 

當我把一個像素出來,然後查詢相同的像素,顏色不匹配:

point(2,2); 
int x = get(2,2); 
print(red(x)); 
print(green(x)); 
print(blue(x)); 

我得到的是:223 223 223 爲什麼我得到223而不是255?

回答

2

這是因爲默認情況下,處理啓用了抗鋸齒。這增加了形狀的模糊性和透明度,包括點數。通常這是一件好事,因爲它會讓你的圖畫看起來更漂亮。

但是如果你想,因爲你需要準確的顏色禁用抗鋸齒,那麼只需調用noSmooth()功能,你做你的繪圖之前:

noSmooth(); 
background(0); 
stroke(255,255,255,255); 
point(2,2); 
int x = get(2,2); 
print(red(x)); 
print(green(x)); 
print(blue(x)); 

此打印出255像你期望。更多信息可在the reference找到。

+0

謝謝!這正是我想要的。 – Moha