New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ベースカラーからメインカラーを算出 #21
Comments
昨日、理系出身の弟にいろいろレクチャーしてもらった内容 <基本的な考え方>
参考(弟の計算)
|
できた!「45」が求めたかった数値!
|
0.75→ 0.9、86.25→94.5の場合でも同じ「45」が算出できた!
|
このままだとS値が0-100に治らずマイナスになったりするっぽい |
昨夜、弟が検討してくれた計算式 <前提> 1.X(メインカラー彩度)からYを基にZを導き出すパターン 2.Z(ベースカラー彩度)からYを基にXを導き出すパターン |
#22 で変更した計算式を踏まえて、範囲-100〜100%におけるベースカラー側からメインカラー側のS、Bの算出をしたい |
ベースカラー彩度からコントラストを基にメインカラー彩度を算出
<-100〜-1%>
→ベースカラー彩度をS、コントラストをCとする →S=65、C=-50% →S=65、C=-75% ※100を超えてしまう? <1〜100%>
※式の中のXはZ?(Xはまだ算出されてないため) →ベースカラー彩度をS、コントラストをCとする →B=65、C=75% →B=65、C=90% |
メインカラー←→ベースカラーの彩度(S)の算出昨日、弟に相談し、突き止めてくれた方法 メインカラー→ベースカラー
ベースカラー→メインカラー
下記の制限内であれば想定通りの動きをする
※絶対値=正負を除いた数値、-5の絶対値は5、など。 →カラーピッカーは全色から選べるようになっているので、ベースカラーの色をカラーピッカーで変更する場合、コントラストを変更する必要がある? →ベースカラーはもともと、カラーピッカーの正方形の中で左上の真っ白と右下の真っ黒に向かっていくライン上の動きだった( #6 )。そのため、ベースカラーのカラーピッカーがそのラインから外れるとメインカラーの数値が0〜100を超えてしまう。 →ベースカラーのカラーピッカーを開く人はベースカラーのコントラストのツマミ以外の範囲以外の色にしたいはずなので、コントラストの方の値を変えてしまうのでいいと思う。 →Cの上限計算メモ(弟より)
|
メインカラー←→ベースカラーの明度(B)の算出オーバーフロー(マイナスや101以上)はいったん気にしない メインカラー→ベースカラー
ベースカラー→メインカラー
C<0(マイナス)の式がなんだか長ったらしくなってて、改善の余地がありそうなら手直ししたいと思っている |
試しに計算してみる。 C<0(マイナス)MBが65、Cが-30%とする
上記の式で算出された75.5をBBに入れる
あれ、「C<0(マイナス)」の計算が合わない? 0<C(プラス)MBが65、Cが+50%とする
上記の式で算出された32.5をBBに入れる
こっちは想定通り |
メインカラー←→ベースカラーの明度(B)の算出 ※修正版#21 (comment) の修正版 メインカラー→ベースカラー
ベースカラー→メインカラー
|
メインカラー←→ベースカラーの明度(B)の計算実際に計算してみる→逆算が成立!(オーバーフローは無視) C < 0 (マイナス)メインカラー→ベースカラーの明度BB = MB - ( 100 - MB ) * ( C / 100 ) BB = 50 - ( 100 - 50 ) * ( -30 / 100 ) ベースカラー→メインカラーの明度MB = ( BB + C ) / ( 1 + ( C / 100 ) ) MB = ( 65 + (-30) ) / ( 1 + ( -30 / 100 ) ) 0 < C (プラス)メインカラー→ベースカラーの明度BB = MB * ( 1 - ( C / 100 ) ) BB = 50 * ( 1 - ( 30 / 100 ) ) ベースカラー→メインカラーの明度MB = BB / (1 - (C / 100)) MB = 35 / (1 - (30 / 100)) |
計算式をコードに落とし込んで、オーバーフローしない範囲内であれば想定通りの動きになった。いったんクローズ。 |
カラーピッカーのベースカラーを変更した時に行いたい処理
#6 でやったメインカラーからベースカラーの算出の逆算パターン
The text was updated successfully, but these errors were encountered: