« プログラミング講座(53) 色合いとトーン | トップページ | プログラミング講座(55) アラーム時計 »

2011/04/08

プログラミング講座(54) 混色

混色に関するサンプルプログラムを作成しました。KZM872 で「発行」しました。

Colormixture01withnum
【図55 混色に関するプログラム】

(1) RGBの加法混色
光の3原色RGBを加法混色した図を表示サンプルです。サブルーチンColor_Add() で2つの色を加法混色しています。

(2) CMYの減法混色
絵具やインクなどの減法混色に関するサンプルです。この例ではプリンタや印刷のインクで使われるCMY(シアン、マゼンタ、イエロー)を使いました。サブルーチンColor_Subtract() で2つの色を減法混色しています。

(3) カラーピック(RGB, HSL, 系統色名の表示)
これまでのサンプルで作ったものを再利用しました。カラーピックの表示にはSmall BasicのShapeオブジェクトの機能を使って実現しています。今回はShape.SetOpacity() 操作を使い、カラーピックの表示を半透明にしました。この手法は以前の「どうぶつしょうぎ」のダイアログボックスでも使いました。サブルーチンColorPick_Init() と ColorPick_Show() で表示します。今回はColorPick_Show()の中に無限ループを入れてしまったので、プログラムの最後で呼ぶようにしています。

(4) ディスプレイのシミュレーション(並置加法混色)
RGBの長方形を並べてテレビやパソコンの画面をシミュレートしてみました。遠くから見れば左から白、赤、緑、黄色に見えると思います。

(5) グラデーション
2色のグラデーションを計算するサンプルです。赤と緑のグラデーションを表示しています。ちょうど中間の色は赤と緑を平均した色ですが、「暗い黄」になっています。サブルーチン Gradation_DrawRibbon() でグラデーションリボンを表示します。

今回は混色について学びました。

色については他にもカラーキューブ、ウェブセーフカラーや配色など、まだまだ話は尽きないのですが、色についてのプログラム作りは、このくらいにしておこうと思います。

次回からは時計について学ぶ予定です。

(つづく)

|

« プログラミング講座(53) 色合いとトーン | トップページ | プログラミング講座(55) アラーム時計 »

Small Basic」カテゴリの記事

」カテゴリの記事

コメント

コメントありがとうございます。「色」は奥が深いです。

投稿: のんき | 2011/04/14 17:54

大変勉強になりました。
ありがとうございました。

投稿: ジョセフィーヌ | 2011/04/08 17:44

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: プログラミング講座(54) 混色:

« プログラミング講座(53) 色合いとトーン | トップページ | プログラミング講座(55) アラーム時計 »