2017-02-18 20 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