前回の
から
Color(RGB)とHSV(円柱モデル)を相互変換するdllを作ってみた
2018/03/03記事修正
修正箇所はこの色のところで
色相360を無彩色に割り当てていたのを通常の赤(360度=0度)に修正
HSVの値はH,S,Vともにdouble型
範囲は
H 0.0fから360.0fの間で360.0fが無彩色のつもり
S 0.0fから1.0fの間
V 0.0fから1.0fの間
HSVからColor(RGB)への変換はRGBそれぞれを最後に四捨五入してbyte型に変換してColorにしている
Color(RGB)からHSVへの変換で指定するColorは構造体のColorのほか、RGB各値をbyte型でも指定できる
public static HSV Color2HSV(byte r,byte g,byte b)
動作確認
RGB→HSV→RGB
左 HSV(79, 10, 8) → RGB(20,20, 18)
このRGBをHSVに変換すると
右 RGB(20,20, 18) → HSV(60, 10, 7.843)
色相がかなりずれる、これも四捨五入だからのはず、ColorのRGBはbyte型で小数点は使えないからこれはこれで正しいはず
Bが最低値でRとGが同じ値の時点で、色相は60の黄色に確定なんだよねえ
無彩色、色相なしの場合
色相の値は360にしてみた
けど
色相360度は0度にした(2018/03/03)
クラスライブラリのテンプレートから構造体Colorを使うにはPresentationCoreを参照に追加する必要がある
ここからColorを使おうとしても出てこない
このクラスライブラリとWPFアプリの違いは参照の違いみたいで
クラスライブラリの参照にPresentationCoreっていうのを追加すればいいみたい
ソリューションエクスプローラーで比較してみる
クラスライブラリは少ないねえ
参照にPresentationCoreを追加
アセンブリの項目を選んでおいてから、右上の検索枠でPresentationを入れると検索結果の中にPresentationCoreが見えるのでチェックを入れてok
これで参照にPresentationCoreが追加される
PresentationCoreが追加されたところ
これでColorを使えるようになった
入力候補に出てきた!
毎回System.Windows.Mediaって入れるのはめんどくさいのでusing
これでいつものWPFアプリのように使えるようになった
Colorを探す?
最初からColorを使えているMainWindowのほうでColorを入力して
Colorのところにカーソルを当てると説明が出る
System.Windows.Media
ってところに属しているみたいってのがわかる
次
ソリューションエクスプローラーの参照の中の項目を右クリックすると
オブジェクトブラウザで表示ってのがある、選択すると
オブジェクトブラウザ
ってことはこれもdllなのかしら
それは置いといて、検索のところに"Color"を入れて検索すると
右下の概要ってところ見るとSystem.Windows.Mediaのメンバーってある
ここをクリックすると
オブジェクトブラウザーを開くのはメニューからもできるのね
ショートカットキーはCtrl+Alt+J
参照したところ
Color Model:色をプログラムするブログ - Yahoo!ブログ
https://blogs.yahoo.co.jp/pspevolution7
明度と彩度の求め方 ( プログラム ) - Color Model:色をプログラムするブログ - Yahoo!ブログ
https://blogs.yahoo.co.jp/pspevolution7/17679694.html
https://blogs.yahoo.co.jp/pspevolution7/17682985.html↑PSPさんのブログには他にも色についての解説がたくさん
色相の求め方2 ( プログラム ) - Color Model:色をプログラムするブログ - Yahoo!ブログ
https://blogs.yahoo.co.jp/pspevolution7/17676223.html
RGBをHSV(HSB)、HSL(HLS)、HSIに変換、復元する - .NET Tips (VB.NET,C#...)
https://dobon.net/vb/dotnet/graphics/hsv.html
小数点を切り捨て、切り上げ、四捨五入する - .NET Tips (VB.NET,C#...)
https://dobon.net/vb/dotnet/programing/round.html
カラーコード変換ツール | Hex、RGB、HSV、CMYK、XYZ、LAB、HSLに対応
https://syncer.jp/color-converter
三角関数の基礎 SIN サイン 正弦 COS コサイン 余弦 TAN タンジェント 正接 ASIN ACOS アークコサイン COS-1 ATAN DEGREES RADIANS 度 角度 ラジアン 斜辺 対辺 隣辺 エクセル Excel [エクセルの学校]
http://www.excel.studio-kazu.jp/tips/0050/
関連記事
2018/03/12は22日後
色の距離は難しい、いくつか試したけどわからなかった ( ソフトウェア ) - 午後わてんのブログ - Yahoo!ブログ
https://blogs.yahoo.co.jp/gogowaten/15408771.html
2018/2/18は2日前
dllファイル(クラスライブラリ.NET framework)の作り方と使うまでの手順メモ ( ソフトウェア ) - 午後わてんのブログ - Yahoo!ブログ
https://blogs.yahoo.co.jp/gogowaten/15377219.html
2018/3/1は10日後
HSVのグラデーションの画像を作成して保存するアプリ作ってみた ( ソフトウェア ) - 午後わてんのブログ - Yahoo!ブログ
https://blogs.yahoo.co.jp/gogowaten/15392811.html