Renk çalışması — Processing 2. Programım
Bu gün renkler ve transparanlıkla ilgili birkaç şey öğrendim. Aşağıda öğrendiklerimi yazdım. Son bölüme kurcalamak isteyen olursa diye tasarımımın kodunu da ekledim.
Proccesing’te öğrendiklerim:
1. Dijital renkler normalde kullandığımız renklerden biraz daha farklılar. Karıştırılınca sulu boyadan biraz farklı davransalar da karışımları hazırlamak çok daha kolay. Aşağıda RGB açılımı olan Red-Green-Blue’nun karıştırılınca ne olacaklarını yazdım.
Kırmızı + Yeşil = Sarı :)
Kırmızı + Mavi = Mor
Yeşil + Mavi = Cyan (yeşil ve mavi arası bir renk)
Bunların dışında
Kırmızı + Yeşil + Mavi= Beyaz
Hiç renk yoksa = Siyah
Renk ekleyip çıkarmak fill kısmında 0–255 arası değerler girerek oluyor.
fill(R,G,B)
Ör:Sarı elde etmek istersek
fill(255,255,0);
yazmamız gerekiyor. Bu da kırmızıdan tüm kutucuklar doluncaya kadar (255'e) dök, yeşilden de doldur, maviden hiç karışıma ekleme demek.
2. fill kısmına eklenen 4. bir parametre saydamlığı belirliyor. Burada da 255 değeri tam dolu, opakken 0 tam transparanlığı belirtiyor.
Her karenin boyutu 50x50. Y ekseninde (yani rect’in 2. parametresi) kareleri kaydırarak fill bölümünde renk ve transparanlıkla ilgili karışımları denedim sonucunda da bu minik animasyon çıktı.
Animasyonun kodu:
void setup () {
size(250, 300);
background(0);
frameRate(4);
noStroke();
}
void draw () { fill(0, 255, 0, 255);
rect(0, 100, 50, 50);
fill(0, 255, 0, 155);
rect(50, 100, 50, 50);
fill(0, 255, 0, 100);
rect(100,100, 50, 50);
fill(0, 255, 0, 50);
rect(150, 100, 50, 50);
fill(0, 255, 0, 30);
rect(200, 100, 50, 50); fill(255, 0, 0, 255);
rect(0, 0, 50, 50);
fill(255, 0, 0, 150);
rect(50, 0, 50, 50);
fill(255, 0, 0, 100);
rect(100, 0, 50, 50);
fill(255, 0, 0, 50);
rect(150, 0, 50, 50);
fill(255, 0, 0, 30);
rect(200, 0, 50, 50); fill(0, 0, 255, 255);
rect(0, 200, 50, 50);
fill(0, 0, 255, 150);
rect(50, 200, 50, 50);
fill(0, 0, 255, 100);
rect(100,200, 50, 50);
fill(0, 0, 255, 50);
rect(150, 200, 50, 50);
fill(0, 0, 255, 30);
rect(200, 200, 50, 50); fill(0, 0, 255, 255);
rect(0, 200, 50, 50);
fill(0, 0, 255, 150);
rect(50, 200, 50, 50);
fill(0, 0, 255, 100);
rect(100,200, 50, 50);
fill(0, 0, 255, 50);
rect(150, 200, 50, 50);
fill(0, 0, 255, 30);
rect(200, 200, 50, 50); fill(255, 255, 0, 255);
rect(0, 50, 50, 50);
fill(255, 255, 0, 150);
rect(50, 50, 50, 50);
fill(255, 255, 0, 100);
rect(100,50, 50, 50);
fill(255, 255, 0, 50);
rect(150, 50, 50, 50);
fill(255, 255, 0, 30);
rect(200, 50, 50, 50); fill(0, 255, 255, 255);
rect(0, 150, 50, 50);
fill(0, 255, 255, 150);
rect(50, 150, 50, 50);
fill(0, 255, 255, 100);
rect(100,150, 50, 50);
fill(0, 255, 255, 50);
rect(150, 150, 50, 50);
fill(0, 255, 255, 30);
rect(200, 150, 50, 50); fill(255, 0, 255, 255);
rect(0, 250, 50, 50);
fill(255, 0, 255, 150);
rect(50, 250, 50, 50);
fill(255, 0, 255, 100);
rect(100,250, 50, 50);
fill(255, 0, 255, 50);
rect(150, 250, 50, 50);
fill(255, 0, 255, 30);
rect(200, 250, 50, 50);
saveFrame(“resim###”);
}