午後わてんのブログ

ベランダ菜園とWindows用アプリ作成(WPFとC#)

エクセル2007アドイン、セルの塗りつぶしとフォントのパレット作ってみた、その8

続き

2014/11/21 15:56修正ここから--------------------
修正したつもりが修正されていなかったので
正しいファイルをアップロードしなおしたので
ダウンロード先のリンクを貼り直した
ファイル名は午後のパレット_20141121Fix.zip
2014/11/21 15:56ここまで-------------------
 
色の間違いを修正
ユーザー定義の配色やその他のテーマの配色に対応
その他2の追加
 
色の修正
イメージ 1
エクセルのパレットと同じ色になった
調べた結果間違っていたのはエコロジーのアクセント6だけだった
前回たまたま見つけたのは運が良かったんだなあと
 
ユーザー定義の配色に対応
イメージ 2
右上の田のボタンを押すと
イメージ 3
配色の名前は取得できないので空白になる
これでエクセル2010や2013で増えているテーマにも対応できたかな?
 
本当の昨日の続き
ユーザー定義の配色を作る時設定できる場所は10箇所だけ
パレットの色は60箇所あっても一番上の10箇所だけ
残りの50色は設定した10箇所の色を基準にしてエクセルが自動でつくる
イメージ 6
自動設定の色は指定した基準の色にTintAndShadeの値を設定して作られる(予想)
一つの色に対して5色作られる
TintAndShadeの値は-1から1の間
0が基準になって+の値だと薄い色、-なら基準より濃い色になる
全部のテーマの全部のパレットを調べたわけではないけど
見つかったパターンは5個
(0, 0.8, 0.6, 0.4, -0.25, -0.5)たくさんのテーマに使われている
(0, -0.1, -0.25, -0.5, -0.75, -0.9)多くのテーマのテキストに使われている
(0, 0.9, 0.75, 0.5, 0.25, 0.1)シック、雪藤の一部に使われている
(0, -0.05, -0.15, -0.25, -0.35, -0.5)白専用?
(0, 0.5, 0.35, 0.25, 0.15, 0.05)黒専用?
 
どの色がどのパターンになるのか調査

f:id:gogowaten:20191015141202p:plain

ユーザー定義の配色の色の設定でRGBの値を少しづつ変更して登録して(手動)
 

f:id:gogowaten:20191015141218p:plain

パレットの上から二番目を実際に色を塗って(手動)ヽ(`Д´#)ノ
TintAndShadeの値を表示(マクロ)
0.8(0.799981688894314)なら
(0, 0.8, 0.6, 0.4, -0.25, -0.5)のパターンってことになる
どこに境目があるのか

f:id:gogowaten:20191015141234p:plain

判明しました(請願)
RGBの各値の最大値と最小値の合計が
101以下なら(0, 0.9, 0.75, 0.5, 0.25, 0.1)
408以上なら(0, -0.1, -0.25, -0.5, -0.75, -0.9)
それ以外(0, 0.8, 0.6, 0.4, -0.25, -0.5)
たったこれだけ
輝度かな?明度かな?彩度も関係ある?とか考えていたけど
RGBの最大値と最小値の合計だけだった

これによって午後のパレットでユーザー定義の配色にも対応できたし
色の違いもなくなったかな?
パレットへのTintAndShadeの取得方法も変更した
今まではコードにパターンを書いていたけど
アドインのシートのセルの色自体にTintAndShadeの値を持たせて
そこから取得するようにした

f:id:gogowaten:20191015141252p:plain

今回わかった計算式で色を作るボタンその他2を付けた
使い方はその他1と同じ
 
 
ダウンロード
 
ファイル名 午後のパレット_20141121.zip
ファイル名 午後のパレット_20141121Fix.zip
ダウンロード先1
 
ダウンロード先2(ヤフーボックス)
 
 
関連記事
この記事の続きは
エクセル2007アドイン、セルの塗りつぶしとフォントのパレット作ってみた、その9完成 - 午後わてんのブログ - Yahoo!ブログ
 
前回記事