p5.js の色指定

p5.js の色指定

RGB指定

数値で指定する場合、デフォルトでは 赤、緑、青 を指定する RGB モードとなっている

function setup() {
  createCanvas(800, 600);
  noStroke();

  background(255); // 引数が1つだとグレースケール。0 が黒で 255 が白
  
  background(0, 32); // 引数が2つだとグレースケール + α値(不透明度)
  
  fill(0, 128, 255); // 引数が3つだとRGB指定。赤、緑、青 の順
  circle(250, 300, 200);

  fill(0, 128, 255, 64); // 引数が4つだと RGB + α値(不透明度)
  circle(550, 300, 200);
}

※ どの値も範囲は 0~255 (colorMode() で変更可能)

カラーコード形式

文字列で指定する方法。Web上のカラーパレットツールなどを利用するときに便利

※ 値の先頭に # を付けることに注意

function setup() {
  createCanvas(800, 600);
  noStroke();
  fill("#0080ff"); // 2桁ごとに 赤、緑、青(、α)の16進数(00~ff)
  circle(400, 300, 200);
}
  • カラーモード(RGB/HSB)の影響は受けない
  • 一応、さらに2桁付け足すことでα値も指定できる

カラーパレットツール紹介

Color Hunt
4色のカラーパレットが大量に登録されている

Adobe Color
5色のうち1色について色相を変えると、他の色の色相も自動的にバランスを調整してくれる

paletton
Adobe Color と同じく、バランスを調整してくれる

HSB指定

色相・彩度・明度 を指定する(色相とは、赤、黄、緑、青、紫……などの色味の違いのこと)

色の数値を自分で調整する場合は、こちらのほうが RGB よりも直感的

function setup() {
  createCanvas(800, 600);
  
  // HSBモード。色相の範囲を 0~360、彩度・明度・α値 の範囲を 0~100 に設定
  colorMode(HSB, 360, 100, 100, 100);
  
  noStroke();

  // 引数が1つだとグレースケール(明度を指定)。
  // 上記の colorMode によって、明度の範囲は 0~100 になっている
  background(100);
  
  fill(30, 100, 100); // 色相、彩度、明度 の順
  circle(250, 300, 200);

  fill(30, 100, 100, 64); // 4つ目の引数はα値(不透明度)
  circle(550, 300, 200);
}

色相について

色相の値の範囲が 0~360 とすると、
以下のような図(色相環と言う)の中で角度(0°~360°)を指定する、と考えれば良い

目安としては 0 で赤、30 で橙、60 で黄色…… という具合

色相環