Nanashi-softプログラマ専用Zaurus SZAB


☆Zaurus SZAB -C言語 画像表示-

画像表示も、コントロールを使わずに行きます。
リソースに定義した画像を、直接画面に表示します。

○画像をリソースに定義

1. メニューのツール(T)→ビューエディタ(V)
 リソースに画像を定義する為のツールが起動します。
 このツールが結構優れもので、サイズ決めや減色まで行えます。

 フルカラーBMPで保存した画像を用意します。
 なぜかフルカラーしか取り込めませんので注意して下さい。

2. メニューのファイル(F)→減色処理の設定(R)
 ・減色処理を行わない
  6万色データを作成する際に選択
 ・減色処理を行う
  256色データ(アイコンデータ等)を作成する際に選択

 どちらかを選択して下さい。

3. メニューのファイル(F)→イメージの読み込み(L)
 BMP画像ファイルを選択して開く

4. ビューファイルの設定
 リソースIDに、重複しない半角英数字文字列を記述
 オプションに、256色なら 4、6万色なら 5を記述(アイコンは4に固定)

5. フォルダ生成
 コントロールかに設定して表示する場合は問題ないが、今回のように勝手に表示したい場合は問題がある。
 リソースファイルとしてコンパイル時に取り込まれるようにする為には、下記のフォルダ内に保存を行う必要がある。

 ・アイコン用フォルダ
 プロジェクトフォルダ\view\アプリケーション識別名IC00
 ・イメージ用フォルダ
 プロジェクトフォルダ\view\アプリケーション識別名IM00

 これらのフォルダは、通常存在しませんので、自作して下さい。

6. メニューのファイル(F)→名前を付けて保存(A)
 作成したフォルダ内に、ファイルの種類(T)を選択して保存

以上で、オリジナルのリソースを定義できた。
コンパイルして、画像分サイズが大きくなっている事で確認しよう(もっとましな方法は無いのか(^^;)

そうそう、この際に「領域が小さすぎて値を格納できません」と表示された場合は、データサイズが 64KBを超えている為です。
分割するなり、減色するなり、縮小するなり、工夫して下さい。

○リソース画像を表示

リソースを画面表示するには、DrawImageRes関数を使う。

RECTANGLE rec;
RESOURCE res;
rec.left=0 * 4;
rec.top=0 * 4;
strcpy((char*)res.ResFile, "「アプリケーション識別名」IM00");
res.ResID=「リソースID」ID;
DrawImageRes(AplForm->FormWnHandle, &rec, 0, &res, NORM_SCALE, NULL);

※"「アプリケーション識別名」IM00"は、コンパイル後にプロジェクトのトップフォルダを見ると、XXXXIM00.JPNと言うファイルがある。それと全く同じ名称を書く。
※「リソースID」IDは、画像を保存する際に指定したリソースIDの後ろに、‘ID’を付けると言う意味。


TOPプログラマ専用Zaurus SZAB

ポンチョっ娘魔女っ子のヘアバンドメイナの実験場~むちむち子猫+~