プログラムライブラリ - RGB指定による色確認プログラム

プログラムライブラリ
<目次>

誤字脱字・記載ミスや分かりにくい表現は随時追記・修正します
2018/01/13
マイナーアップデート 2018/03/25

[C.Basic] [CG]
RGB指定による色確認プログラム: RGB4c - RGB Ver 1.4c
(マイナーアップテート)
RGB指定による色確認プログラム: RGB5a - RGB Ver 1.5a (マイナーアップデート)
※ C.Basic for CG Ver 0.45α で FkeyMenu( の仕様変更に対応したマイナーアップデート

著作権者

やす (Krtyski)
[当ブログ管理人]


対応機種

Casio fx-CGシリーズ (CG10 / CG20 / CG50)


動作環境

C.Basic for CG Ver 045α 以降


プログラムの説明

このプログラムは、一見アドインプログラムに見えますが、Casio Basic 上位互換の C.Basic (つまり BASIC) で書いたものです。チョット大がかりですが C.Basic for CG のサンプルプログラムにもなると思います。

さて、fx-CGシリーズに搭載されている高精細液晶 (216x384 pixel、16bitカラー、65536色)は、プログラムの出力に大きな表現力を与えてくれます。純正Casio Basic では 基本7色 (Black, Blue, Red, Magenta, Green, Cyan, Yellow) のみを設定できますが、C.Basic for CG では基本7色に加えて RGB値での色設定ができます。

そこで、プログラム作成時の配色を検討するためにRGB設定による実際の色を確認するプログラムを作りました。テキスト文字色、テキスト背景色、グラフィックス描画の色、それらの配色を確認できます。

RBG4c はRGB値それぞれに、0 ~ 255 を設定できる 24 bit フルカラー対応バージョンです。但し、fx-CGシリーズのカラー液晶はフルカラーではありません。

そこで、fx-CGシリーズ搭載のカラー液晶の実際の仕様に合わせた 16bit カラーバージョンの RGB5a を作りました。
fx-CGシリーズの 16bitカラーは R と B が 5 bit (32階調)、G が 6 bit (64階調) なので 65,536色です。24 bitフルカラーの 16.777,216 色に比べて使える色が少なくなっていて、実際のRGB値は 0 ~ 255 の連続した整数値ではなく、R と B は 0 ~ 248 の8刻み、G は 0 ~ 252 の 4 刻みで色が変化します。これは、RGB4c で操作すると確認できます。

そこで 16 bit カラーに対応した RGB5a を使えば、fx-CGシリーズの液晶が取り得る RGB 値を正しく調べられます。但し、24 bit カラーの RGB値を指定しても問題はありませんが、意図した色にならないことが有るのは、電卓側の仕様です。 


ダウンロード

 24bit カラーバージョン - RGB4c (Ver 1.4c)
 16bit カラーバージョン - RGB5a (Ver 1.5a)
RGB4b (Ver 1.4b) / RGB5 (Ver 1.5) において、所定の条件下で矢印キーによるRGB値の
 変更ができない不具合を修正しました。
 [所定の条件]
 チョットややこしいのですが、
 - カラー表示エリアの2行のうち、どちらかを [SHIFT]で背景なしに設定していて
 - カラー表示エリアで、背景のある方を ⇒ で選択し、
 - RGB表示エリアの2行のうち下の背景RGBを▶で選択している
 この時、[▼] / [▲] キーでRGB値が変更できない不具合を修正しました。
[▼] / [▲] キー長押しでRGB値を連続変化させる動作を少し高速化しました。


プログラムの使い方

起動すると、モード選択画面がポップアップ。
左が 24bit カラーバージョンの Ver 1.4c、右が 16bit カラーバージョンのVer1.5a
RGB4c_StartUp.png RGB5a_StartUp.png 

[F1] でテキスト文字主体の配色確認モード、[F2] でグラフィックスを含んだ配色確認モードでプログラムが起動。

※ テキストモード
左が 24bit カラーバージョンの Ver 1.4c、右が 16bit カラーバージョンのVer 1.5a
RGB4c_Txt_Mode.png RGB5a_Txt_Mode.png 
テキストモード(テキスト主体の配色確認モード)。テキスト色 (前面色)のRGBにマーカーが付いている。

※ グラフィックスモード
左が 24bit カラーバージョンの Ver 1.4c、右が 16bit カラーバージョンのVer 1.5a
RGB4c_Grph.png RGB5a_Grph.png 
グラフィックスモード(グラフィックスを含めた配色確認モード)。背景色のRGBにマーカーが付き、テキスト背景と2つの円の配色が表示される。円の2つの配色は、テキストの背景色2つと対応している。

操作は、ファンクションキー  [F1][F6]、テンキー [1][3]、その他6つのキー [SHIFT] [ALPHA] [OPTN] [X2] [VARS] [∧] を使う。

テキストモードとグラフィックスモードは設定が異なるだけ。テキストモードで起動した後、例えば [SHIFT] [ALPHA] [SHIFT] と順に押せば、グラフィックスモードで起動した時と同じ状態になる。

[F5] (HELP) で簡易的な操作説明を表示する。

左が 24bit カラーバージョンの Ver 1.4c、右が 32bit カラーバージョンのVer 1.5a
RGB4c_QH.png RGB5a_QH.png 
 
上下矢印キーでスクロールできる。現在のところ、英数字・記号しか出力できないので英語表記になる。そこで、[F6] (QR) で日本語クイックヘルプへのリンクをQRコードで示す。

RGB4b_5.png 

スマホやタブレットなどでQRコードを読み込めば、日本語クイックヘルプのページが読める。


キー操作

[F6] (EXIT) / [EXIT]:プログラムの終了

[ALPHA] / [ ) ]:カラーサンプルエリアの切替え
  RGB4b_6.png 
  2つ(2行)のカラーサンプルエリアを切り替える。
  マーカー が選択されているカラーサンプルエリアを示す。
  ※ Text モードでの起動時は、エリアは1つだけ表示

[OPTN] / [cos]:変更するRGBエリアの切替え
  RGB4b_7.png 
  上がテキスト文字色のRGB値、下が背景 / グラフィックスのRGB値。
  カーソルや直接入力での変更対象は、マーカー▶が付いているRGBエリア。

[SHIFT] / [sin]:テキストの背景の表示/非表示切替
  RGB4b_8.png 
  [ALPHA]で選択したテキストの背景色を非表示

  RGB4b_9.png 
  [ALPHA]で選択したテキストの背景色を表示
  ※ [SHIFT] / [sin] を押す度に切り替わる(トグル動作)

[◀] / [▶]:変更したいR, G, B へカーソル移動
  RGB4b_10.png 
  左右の矢印キーで、変更したいR、G、Bにカーソル ←↕→ を移動。

[▲] / [▼]:R、G,B値の連続変更(スキャン)
  RGB4b_10.png 
  上下の矢印キーで、カーソル ←↕→ とマーカーのある値を変更。
  上の例では、テキスト色のR値が変更対象。
  ※ 通常押しだと、1つづ値が変わる(ステップスキャン)。
  ※ 長押しするとデフォルトで値が±20スキップする(スキップスキャン)。
  ※ 長押しで値が 0 か 255 付近になると、スキップが遅くなる。

[F1] / [1] (R)、[F2] / [2] (G)[F3] / [3] (B):RGB値を直接入力
  RGB4b_11.png 
  RGB値を直接キー入力する。

[EXE]:RGB値を直接入力
  RGB4b_10.png 
  [EXE] でカーソル ←↕→ とマーカーがあるところに直接キー入力。
  上の例では、テキスト色のR値が入力を受け付ける。

[F4]:基本7色に加えて White に変更
  RGB4b_11.png 
  [F4] を押すと、カーソル ←↕→ とマーカー▶のある値を、
  基本7色 (Black, Blue, Red, Magenta, Green, Cyan, Yellow)に加えて
  White に変更する。押す度に順に切り替わる。
  ※ 7色カラーバーで現在選択されている基本色に白線のマーカーを表示。
  ※ 矢印キーや直接入力した時、基本色+Whiteの場合、[F4]ファンクションに色を表示。
  ※ 基本色以外の時は、[F4]ファンクションに Color と表示

[∧] / [→]:テキスト色と背景色を同じ色に変更
  左が 24bit カラーバージョンの Ver 1.4c、右が 16bit カラーバージョンのVer 1.5a
  RGB4c_Back.png RGB5a_Back.png 
  [OPTN]でRGBエリアをで切替え、マーカーで指定されている色を、
  テキスト色と背景色に適用する。
  ※ 結果的にテキストが消える。

[VARS] / [tan]:テキストと背景を互いに補色にする
  左が 24bit カラーバージョンの Ver 1.4c、右が 16bit カラーバージョンのVer 1.5a
  RGB4c_CC.png RGB5a_CC.png 
  [OPTN]で選びマーカーが付いたRGBエリアの補色をもう一方のRGBエリアに適用する。
  ※ テキストRGBエリアを選んでいると、背景が補色になる。
  ※ 背景RGBエリアを選んでいると、テキストが補色になる。
  ※ R=G=B の時は、補色ではなくて反対色を適用する。

[X2] / [ , ]:背景色に補色を適用する
  左が 24bit カラーバージョンの Ver 1.4c、右が 16bit カラーバージョンのVer 1.5a
  RGB4c_CC2.png RGB5a_CC2.png 
  [ALPHA]で選んでマーカーが付いたカラーサンプルエリアの背景色に、
  [OPTN]で選びマーカーが付いたたカラーエリアの色の補色を適用する。
  ※ テキストのRGBエリアにが有る時は、が付いていない方の背景が補色になる。
  ※ 背景のRGBエリアにがある時は、が付いていない方の背景が補色になる。

右手操作のための代替キー
  RGB4b_keys 
  左上の6つのキーと、右手で操作するための右下の代替キーは、
  同じ機能が同じ配置になっている。
  ※ [SHIFT] = [sin]、[OPTN] = [cos]、[VARS] = [tan]
    [ALPHA] = [ ) ]、[X2] = [ , ]、[∧] = [→]


ソースコード

[2018/01/20]
Ver 1.2a 以降で、C.Basicタイマーの時間を 00:00:00 にリセットしてしまうコードが含まれており、時計の時間がリセットしてしまう問題がありました。C.Basic for CG のマイナーアップデートでこの問題を解消しました。C.Basic for CG Ver 3.3α [2018/01/20 17:00] 以降にダウンロードしたものをお使いください。

背景色を[SHIFT]で解除しテキストRGB値を[▲]/[▼]でスキャン時、背景RGB値のちらつきを抑制しました。


謝 辞

本プログラムは、sentaro様、ツル様からのアドバイスや要望により各種機能や表示を追加したものです。両氏にお礼申し上げます。


過去バージョン [2018/02/26] 追記

Ver 1.1 - RGB [download]
テキスト色のRGB値をキー入力のみで設定する最初のバージョン

Ver 1.2 - RGB2 [download]
RGB値をカーソルキーでスキャン可能にした。

Ver 1.2a - RGB2a [download]
[F4]での基本色設定に White を追加、ヘルプ機能を追加した。

Ver 1.2b - RGB2b [download]
テキストのみのカラーサンプルエリアを2つに増やした。

Ver 1.2c - RGB2c [download]
背景RGB値の設定・表示を追加し、テキスト/背景の補色設定 [VARS] を追加した。

Ver 1.3c - RGB3c [download]
テキスト↔背景を同色にする設定 [∧]、テキスト背景⇒もう一つの背景へ補色設定の機能 [X2]、ヘルプは増えた機能をカバーするためのスクロール表示機能、右手操作用の代替えキーを追加した。

最新バージョンは、操作が複雑で使いづらいかも知れないので、シンプルなものが良ければ過去バージョンをお試し頂くか、シンプルな過去バージョンを自由に改造してお使いください。


応援クリックをお願いします。励みになるので...
にほんブログ村 IT技術ブログ 開発言語へ


 



keywords: fx-5800PCasioBasic、プログラムライブラリプログラム関数電卓

リンク集 | ブログ内マップ

関連記事

テーマ : プログラム関数電卓
ジャンル : コンピュータ

コメントの投稿

非公開コメント

Re: 2b使っています

ツル様、sentaro様、iron2様、皆様

管理人のやすです。


> 記事中にご掲載の”右手操作のための代替キー”の写真が、今更ながら分かりやすかったです。実際、左手は電卓の操作に使わないので、この右手用キー配列は有難いものです。
>
> 黄色四角枠で囲まれた点は抜群なチョイスだと感じました。

お褒め頂き、ありがとうございます。

sentaro様のご指摘で、jpeg画像だと汚いので、 png画像に差し替えて綺麗になりました。


> 実を言いますと、最終版に慣れようと頑張りましたが、またRGB2bに戻っています。ツルはなぜか2bが使い易いのです。
> ここ最近はグラフィックス系の表示が多いので、毎日とても活用しています。

ご愛用ありがとうございます(^^;
キー操作を詰め込みすぎて、多機能なら良いとは限らないという典型例ですね。
使いづらくてごめんなさい。

ところで、ツル様バージョンに改変してお使い頂いているのですよね!
理想的な使い方だと思います。

Ver 1.4b (RGB4b - 最新バージョン) の起動時に [F1] でテキストモードにして起動すれば、RGB2b に近い画面 (RGB2c の方が近い画面) になり、同じ操作で使えます。

最新バージョンを差し替え、過去の主なバージョンの紹介とダウンロードを追加しました。



2b使っています

管理人様、sentaro様、iron2様、皆様

記事中にご掲載の”右手操作のための代替キー”の写真が、今更ながら分かりやすかったです。実際、左手は電卓の操作に使わないので、この右手用キー配列は有難いものです。

黄色四角枠で囲まれた点は抜群なチョイスだと感じました。

実を言いますと、最終版に慣れようと頑張りましたが、またRGB2bに戻っています。ツルはなぜか2bが使い易いのです。
ここ最近はグラフィックス系の表示が多いので、毎日とても活用しています。

最新記事
検索フォーム
最新コメント
カテゴリ
C# (3)
Visitors
Online Counter
現在の閲覧者数:
プロフィール

やす (Krtyski)

Author:やす (Krtyski)
since Oct 30, 2013


プログラム電卓は、プログラムを作って、使ってナンボ!

実際に触って気づいたこと、自作プログラム、電卓プログラミングについて書いています。

なお管理人はカシオ計算機の関係者ではなく、Casio Basicが面白いと感じる1ユーザーです。


写真: 「4駆で泥んこ遊び@オックスフォード郊外」

リンク
月別アーカイブ
Sitemap

全ての記事を表示する

ブロとも申請フォーム

この人とブロともになる

QRコード
QR