IMをよくよく読んでみたら、ColorSearchProcでの処理に誤解が
あったことがわかった。
これまでは、呼び出されたときに設定されているRGBColorをチェック
して、白以外だったらそのRGBColorを黒に設定してfalseを返していた。
するとまあ、ほかにはなにも登録されていなければデフォルトの
ルーチンが呼ばれて、「はい、黒ね」と処理してくれていたというわけだ。
本来の使い方は、その色のパレット内での番号(という表現で正しい
のかな)を求めてもうひとつの引数のほうに返して、trueを返すという
ことらしい。ってことは、ここを正しい実装に変更してやればそのまま
いけそうな気もする。
問題はパレット内での番号はいくつになるのか、かな・・・。
マスクを作るだけだから0と1だけになると思うのだけどその理解で
正しいのだろうか。ま、やってみればわかることだし、とりあえず
試してみることにしよう。 |