メルマガ:あゆしゃのC言語プログラミング
タイトル:あゆしゃのC言語プログラミング(Vol.596) CE16 パレットの変更  2005/08/19


/*========================================================*/
    <<<あゆしゃのC言語プログラミング>>>
/*========================================================*/
 第596回 CE16 パレットの変更
 発行    2005年8月19日(金曜日)
 発行数   約2500

{magclick}
/*========================================================*/
 はじめに ( 決り文句 )
/*========================================================*/
・このメールマガジンは、主にまぐまぐさんから発行しています。
・ジャンルは、マルチメディアのプログラム、C言語です。
・横60文字で作成し、インデントは大抵半角スペース4つです。
・ここで扱うプログラムは、C言語と半光年以内のものです。
・登録解除は、メルマガのホームページでお願いします。
・過去ログはバックナンバー(下欄参照)を活用して下さい。
・内容は私が感じたもので、最新の技術も、へたれもあります。
・わかりやすさを優先させる為、たまに嘘があるかもしれません。
・セキュリティ突破のため、暗号化された単語があります。

/*========================================================*/
 ご挨拶
/*========================================================*/

 こんにちは。あゆしゃです。

 約2週間のご無沙汰でした。

 お盆はいかがでしたか? 楽しかったですか?

★私は大漁でした!

 投網に行けばボラが10匹、

 釣りをすればベラが10匹、

 もう、なんだか、1年分の魚運を使い果たした気分です。

{magclick}
/*========================================================*/
 今回のお題  << CE16 パレットの変更
/*========================================================*/

 手短に行きましょう。

 現在、キャラエディッタなる物を作成しています。

 グラフィックを32*32単位、または64*64単位、
もしくは128*128単位に分割して、それぞれの拡大図を
エディットする、というグラフィックエディッタです。

 もともとは私が学生時代に課題として作成したソフトを復刻
させようという感じで作成しています。

 画像ファイルとの入出力は、VC++7.0で標準装備された
CImageクラスを使用することで、Bitmapはもちろんのこと、Jpeg
やGIF、PNGフォーマットにも簡単に対応できます。

/*========================================================*/

 前回までに、画像の読み書きと簡単なエディットまでができる
所まで作成しました。

 その時点では、選択できる色の数は16色でした。

 これはベースとしたソフトがPC98で動作するものであり、
4096色中16色という制限があったために、そのデザインが
16色となっていたことによります。

 今回は、Windowsアプリケーションですので、もっと色数を
増やしたいところですが、

 しかし色が何でもかんでも指定できるというのは、少々
自由度が高すぎて、それは使い勝手が悪いものになります。

 なので、ちょっとだけ増やします。

 色数は、CCEPaletクラスが定数で持っているので、その値を
増やせばよいでしょう。

 また、フレームカラーや背景色といったいわゆるシステムカラー
について、1番や3番などを適当に割り振っていましたが、これを
独立した色として用意します。

 16色という数だけはそのまま残します。ワークです。

/*========================================================*/

 CCEPaletには次のように定義しました。

    enum { PAL_SIZE = 16 };
    enum { PAL_HEIGHT = 32 };
    enum { COL_BACK = 0 };          // 背景色番号
    enum { COL_FRAME = 3 };         // フレーム色番号
    enum { COL_SELECT = 1 };        // 選択色番号
    enum { COL_FONT = 7 };          // 文字色番号
    COLORREF m_pal[ PAL_SIZE ];

 COL_XXという名称がシステムカラーなので、その数だけ
増やしましょう。

    enum { COL_BACK = 0 };          // 背景色番号
    enum { COL_FRAME = 1 };         // フレーム色番号
    enum { COL_SELECT = 2 };        // 選択色番号
    enum { COL_FONT = 3 };          // 文字色番号
    enum { COL_WORK = 4 };          // 文字色番号
    enum { PAL_SIZE = COL_WORK + 16 };


{magclick}
/*========================================================*/
 さいごに
/*========================================================*/

 今年の夏は暑い暑いといいますが、それほど暑いでしょうか?

 例年より涼しく感じるのは、年のせいでしょうか?

{magclick}
/*========================================================*/
 次回予告
/*========================================================*/

 次回は8月22日(月曜日)に、第597回をお送りします。
 お題は「CE17 色の取得」

 今回の内容を固め、さらに次の処理を追加します。

 お楽しみに!

/*========================================================*/
 最後の決り文句
/*========================================================*/
 このメールマガジンは、まぐまぐさんから発行しています。
 このメールマガジンを解除したい場合は、まぐまぐさんをご利用
ください。このメルマガのまぐまぐアイディーは最後にあります。
 このメールマガジンには広告が挿入されていますか?
 このメールマガジンの内容に文面の引用はありませんか?
 めーらっくすの場合はめーらっくすの利用方に従ってください。
 このメールマガジンの内容の、転用、流用、宣伝、リンク、
よいお盆でした なんて大歓迎です。

{magclick}
/*========================================================*/
 
/*========================================================*/

発行者 あゆしゃ

ホームページ::あゆしゃの世界
http://ayusya.hp.infoseek.co.jp/

ご意見・ご感想・ご質問メール
mailto:ayusya@flamenco.plala.or.jp

まぐまぐ::アイディー
0000020674

まぐまぐ::登録と解除
http://www.mag2.com/m/0000020674.htm

まぐまぐ::バックナンバー
http://jazz.tegami.com/backnumber/frame.cgi?id=0000020674

めーらっくす::アイディー
MM3E1AEE285AB4F

めーらっくす::登録と解除
http://www.mailux.com/mm_dsp.php?mm_id=MM3E1AEE285AB4F

めーらっくす::バックナンバー★最近のものならこちらが便利★
http://www.mailux.com/mm_bno_list.php?mm_id=MM3E1AEE285AB4F

ブラウザの閉じるボタンで閉じてください。