
p5.js์์๋ ์ปฌ๋ฌ๋ฅผ ์ง์ ํ๊ณ , ๊ฐ์ฒด์ ์ ์ฅํ์ฌ ์ฌ์ฉํ๋ฉด ์ฝ๋๋ฅผ ๋ ๊น๋ํ๊ฒ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
Color ๊ฐ์ฒด๋ ๋ฐ๋ณตํด์ ์์ฑํ๋ ๊ฒ๋ณด๋ค ๋ฏธ๋ฆฌ ๋ง๋ค์ด์ ์ฌ์ฌ์ฉํ๋ ๊ฒ์ด ํจ์จ์ ์
๋๋ค.
color() ) ๊ฐ์ฒด โ ์์ฑ๊ณผ ๋ด๋ถ ๊ตฌ์กฐcolor() ํจ์๋ p5.Color ๊ฐ์ฒด๋ฅผ ๋ง๋ญ๋๋ค. ๊ธฐ๋ณธ ํด์์ RGB(0~255)์ด๋ฉฐ colorMode()์ ๋ฐ๋ผ ํด์ ๋ฐฉ์์ด ๋ฐ๋๋๋ค. p5.js ๊ณต์๋ฌธ์function setup() {
createCanvas(400, 400);
// Color ๊ฐ์ฒด ์์ฑ
let c1 = color(255, 0, 0);
let c2 = color(0, 255, 0);
let c3 = color('#0000FF');
fill(c1);
rect(50, 50, 100, 100);
fill(c2);
rect(200, 50, 100, 100);
fill(c3);
rect(125, 200, 100, 100);
// Color ๊ฐ์ฒด์์ ๊ฐ ์ถ์ถ
let r = red(c1); // 255
let g = green(c2); // 255
let b = blue(c3); // 255
}
p5.Color ๊ฐ์ฒด๋ ์์ฑ๋ ๋ ์ ์ฉ๋๋ color mode์ ๊ฐ ์ฑ๋์ ์ต๋๊ฐ(max)์ ๋ด๋ถ์ ์ ์ฅํฉ๋๋ค. ์ฆ, ๋์ค์ ๋ค๋ฅธ mode๋ก ๋ฐ๊ฟ๋ ์ด ๊ฐ์ฒด๊ฐ ์์ฑ๋ ๋์ ํด์ ์ ๋ณด๊ฐ ์ ์ง๋ฉ๋๋ค.colorMode(RGB, 255); // ๊ธฐ๋ณธ
let c1 = color(255, 0, 0); // ๋นจ๊ฐ (RGB ๊ธฐ์ค)
colorMode(HSB, 360, 100, 100);
let c2 = color(180, 50, 100); // HSB ํด์์ผ๋ก ๋ง๋ค์ด์ง p5.Color
์ปดํฌ๋ํธ ์ฝ๊ธฐ: red(c), green(c), blue(c), alpha(c), hue(c), saturation(c), brightness(c) ๋ฑ ํจ์๋ฅผ ํตํด์ ์ป์ต๋๋ค. ์ด๋ค ํจ์๋ ํ์ฌ์ colorMode ๋๋ ์ ๊ฐ์ฒด๊ฐ ์ ์ฅํ ๋ชจ๋์ ๋ฐ๋ผ ๋ฐํ๊ฐ์ ๋ฒ์๊ฐ ๋ฌ๋ผ์ง ์ ์์ต๋๋ค.
๊ฐ์ฒด ๋ด๋ถ ๋ฐฐ์ด: c.levels โ [r,g,b,a]ํํ๋ก ์ ๊ทผ ๊ฐ๋ฅํ๋ฉฐ ๋ฒ์๋ ์์ฑ์์ mode์max ๊ฐ์ ๋ฐ๋ฆ
๋๋ค.
ํฌ๋ช
๋ ๋ณ๊ฒฝ: c.setAlpha(value)๋ฅผ ์ฌ์ฉํ๋ฉฐ ๊ฐ์ ๋ฒ์๋ colorMode์ ์์กดํฉ๋๋ค.
let c = color(200, 100, 50); // ์์ฑ์์ mode์ ๋ฐ๋ผ ํด์
console.log(c.levels); // e.g. [200,100,50,255] (์์ฑ์ ์ค์ ์ ๋ฐ๋ผ ๋ค๋ฆ)
c.setAlpha(128); // ์ํ ์กฐ์
let h = hue(c); // hue ๊ฐ ์ป๊ธฐ (HSB ๊ธฐ์ค)