2017-02-18 3 views
1

Das macht mich verrückt. Hier ist mein Setup ist:Verarbeitung 3 - wie Standard-Opazität eingestellt wird

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

Wenn ich ein Pixel löschte, dann fragen Sie die gleiche Pixel, die Farben stimmen nicht überein:

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

Was ich erhalte, ist: 223 223 223 Warum bekomme ich 223 statt 255?

Antwort

2

Dies geschieht, weil die Verarbeitung standardmäßig Anti-Aliasing aktiviert. Dies verleiht den Formen, einschließlich der Punkte, Unschärfe und Transparenz. Normalerweise ist das eine gute Sache, da es Ihre Zeichnungen schöner aussehen lässt.

Aber wenn Sie Anti-Aliasing deaktivieren möchten, weil Sie genaue Farben benötigen, dann rufen Sie die noSmooth() Funktion, bevor Sie Ihre Zeichnung tun:

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)); 

Diese 255 ausdruckt wie Sie erwarten. Weitere Informationen finden Sie in the reference.

+0

Danke! Genau das wollte ich. – Moha

Verwandte Themen