●画像合成改

「●画像合成改」の編集履歴(バックアップ)一覧はこちら

●画像合成改」(2009/05/31 (日) 17:27:58) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

*情報 作者名:SWinX 引用元:[[なでしこ初心者質問掲示板「画像合成改」>http://www.himanavi.net/cgi/nade-1st/cbbs.cgi?mode=one&number=4114&type=4111&space=15&no=0]] *概要 「画像合成」の不具合を修正した「画像合成改」です。 これで、透過色が黒色以外でも正常に動作します。 *解説 命令「画像合成」の説明文には「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コピー  マスク画像→壊す  ソース画像→壊す ---- #comment() ----
*情報 作者名:SWinX 引用元:[[なでしこ初心者質問掲示板「画像合成改」>http://www.himanavi.net/cgi/nade-1st/cbbs.cgi?mode=one&number=4114&type=4111&space=15&no=0]] *概要 「画像合成」の不具合を修正した「画像合成改」です。 これで、透過色が黒色以外でも正常に動作します。 *解説 命令「画像合成」の説明文には「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コピー  マスク画像→壊す  ソース画像→壊す ---- #comment() ----

表示オプション

横に並べて表示:
変化行の前後のみ表示:
ツールボックス

下から選んでください:

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