●画像合成改

情報


概要

「画像合成」の不具合を修正した「画像合成改」です。
これで、透過色が黒色以外でも正常に動作します。

解説

命令「画像合成」の説明文には「OBJ1の左上の色を透過色として扱う」
とありますが、実際には透過色もORされてしまいます。
これはなでしこの不具合と思います。

画像合成命令の内部では
 1)マスクを作る[画像マスク作成]
 2)マスクでコピー先をくりぬく[画像ANDコピー]
 3)コピー元を合成[画像ORコピー]
という手順で実行されるのですが、透過色が黒色で無い場合
 2.5)逆マスクでコピー元をくりぬく = 透過色を黒色に変換
が必要です。
※sample-グラフィック-画像処理サンプル-キャラ合成-正統.nakoを参照

で、無いものは作るしかないということで「画像合成改」を作りました。

サンプルプログラム

ウィンドウ背景色で画面クリア

キャラ画像とはイメージ
その幅=32
その高さ=32
キャラ画像を青色で画面クリア
線色=黄色。塗り色=黄色。線太さ=1
キャラ画像の2,2から30,30へ円

90,80へ「画像合成」を文字描画
キャラ画像を母艦の100,100へ画像合成
描画処理反映
190,80へ「画像合成改」を文字描画
キャラ画像を母艦の200,100へ画像合成改

//本体

●画像合成改({グループ}Sを{グループ}DのX,Yへ)
 Cとは整数
//マスク画像はSの透過色を黒色、それ以外を白色にしたもの
 マスク画像をイメージとして作成
 マスク画像→可視はオフ
 マスク画像→画像はS→名前
 マスク画像の0,0を画像色取得してCに代入
 マスク画像をCで画像マスク作成
//ソース画像はSの透明色を黒色に変換したもの
 ソース画像をイメージとして作成
 ソース画像→可視はオフ
 ソース画像→画像はS→名前
 マスク画像を画像ネガポジ
 マスク画像をソース画像の0,0へ画像ANDコピー
 マスク画像を画像ネガポジ
//合成実行
 マスク画像をDのX,Yへ画像ANDコピー
 ソース画像をDのX,Yへ画像ORコピー
 マスク画像→壊す
 ソース画像→壊す


名前:
コメント:


タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2009年05月31日 17:27
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。