-
Notifications
You must be signed in to change notification settings - Fork 1
HSVカラー
Reputeless edited this page Mar 14, 2017
·
4 revisions
HSV とは、色相(Hue), 彩度(Saturation), 明度(Value) の 3 つの要素で色を表す方法です。
色相は赤っぽい、青っぽいといった「色あい」を表します。色相を環状に並べたものを色相環といい、赤は 0°, 黄色は 60°といったように、円上の角度で表現されます。
彩度は「鮮やかさ」を表します。色相が同じでも彩度が高ければ鮮やかに見え、低ければグレーに近くなります。彩度が 0 の場合は無彩色(黒、グレー、白)になります。
明度は「明るさ」を表します。明度が高ければ明るい色に、低ければ暗い色になります。
HSV 型の h
は色相を色相環上の角度で表し、s
は 0.0~1.0 の範囲で彩度を, v
は 0.0~1.0 の範囲で明度を表します。
これまで Color
を使っていた場面で HSV
を使えます。
# include <Siv3D.hpp>
void Main()
{
GUI gui(GUIStyle::Default);
gui.add(L"H", GUIText::Create(L"", 60));
gui.addln(L"H", GUISlider::Create(0.0, 360.0, 0.0, 200));
gui.add(L"S", GUIText::Create(L"", 60));
gui.addln(L"S", GUISlider::Create(0.0, 1.0, 1.0, 200));
gui.add(L"V", GUIText::Create(L"", 60));
gui.addln(L"V", GUISlider::Create(0.0, 1.0, 1.0, 200));
gui.add(L"Color", GUIText::Create(L""));
while (System::Update())
{
const double h = gui.slider(L"H").value;
const double s = gui.slider(L"S").value;
const double v = gui.slider(L"V").value;
const HSV hsv(h, s, v);
gui.text(L"H").text = Format(L"H: {:.1f}"_fmt, h);
gui.text(L"S").text = Format(L"S: {:.2f}"_fmt, s);
gui.text(L"V").text = Format(L"V: {:.2f}"_fmt, v);
gui.text(L"Color").text = Format(Color(hsv));
Graphics::SetBackground(hsv);
}
}
# include <Siv3D.hpp>
void Main()
{
while (System::Update())
{
for (int32 y = 0; y < 12; ++y)
{
for (int32 x = 0; x < 16; ++x)
{
Rect(x * 40, y * 40, 40, 40).draw(HSV(x * 20, 1.0 - y / 12.0, 1.0));
}
}
}
}
- Siv3D の基本
- 図形を描く
- テクスチャを描く
- テキストを描く
- 文字列と数値の変換
- キーボード入力
- マウス入力
- サウンドの再生
- MIDI の再生
- ウィンドウと背景
- 図形のあたり判定
- 乱数
- ダイアログ
- ドラッグ & ドロップ
- アプリの状態
- テキストファイル
- INI, CSV, JSON
- バイナリファイル
- GUI
- アセット管理
- 画像編集
- Web カメラ
- マイク入力
- 経過時間の測定
- HSV カラー
- ファイルダウンロード
- 3D 描画
- 2D のレンダーステート
- 3D のレンダーステート
- パーティクル
- スクリーンショット
- アプリケーションの公開
- さらに学ぶには
- アプリランチャーを作ろう
- 音楽プレイヤーを作ろう
- 横スクロールゲームを作ろう
- ドット絵エディタを作ろう
- シーン遷移をサポートする SceneManager の使い方
- Siv3D ミニサンプル集
- タスクシステムを使う
- スケッチ
- 画像ビューアー
- オーディオスペクトラム
- マイク入力スペクトラム
- 文字色の反転
- 天気予報
- ドットお絵かき
- 15パズル
- ブロックくずし
- 時計
- 音楽プレイヤー
- ピアノ
- ライフゲーム
- シーン管理
- 地球
- 3Dシーン
- 3D交差判定
- Wooden Mirror
- シューティングゲーム
- Image to Polygon
- Sketch to Polygon
- 軌跡
- Plot3D
- テンポとピッチの変更
- 長方形の影
- Twitterクライアント
- Polygon to Mesh
- 3Dテキスト
- アプリ終了の確認
- 地形の生成
- アーカイブファイル
- GUIのアニメーション
- Aero Glassエフェクト
- Glitch
- リンクテキスト
- 付箋
- シーン切り替え(シルエット)
- MIDIシーケンサー
- 数つなぎ
- 画面を揺らす
- 対称定規
- aobench
- MIDIビジュアライザー
- 電卓
- 手書き文字認識
- 顔検出
- 音声合成
- Image to PhysicsBody