旧 #temanote

Linux大好き。だけど進捗ありません。

デスクトップマスコット備忘録

デスクトップマスコット用の紬を作るうちにようやく気づいたこと。
縁の処理。

元素材が縁を1ドットほど半透過にしているらしく、そのせいでうまく縁取り出来てなかった。
対策としてGIMPのファジー選択時に「境界をぼかす」にチェックを入れてごまかす。

出来たものをDxLib製で表示させると
f:id:toshihito_it:20160218110926p:plain
このように、縁が黒くなる。


原因を探ると、DxLib自体の非矩形ウィンドウ作成方法について認識が違った。

手順としては
1、背景を特定の色で塗りつぶす
2、透過PNGを描画
3、1で塗りつぶした色の箇所をくり抜く

で非矩形ウィンドウを作成していたようです。

実は配布前にプロ生ちゃんマスコットをデフォルトで入れておくときに線画部分が透過してしまい、「プロ生ちゃんマスコットが変な方法で描かれている」なんて思っていた。ゴメンナサイ
つまりプロ生ちゃんは線画部分がRGB(0,0,0)の完全な黒で描かれており、僕が黒を透過させる処理を書いていたため線画部分が透過してしまった、というわけで。


これに対処する方法としては
1、背景が透明なウィンドウを作成する
2、透過PNGを描画
3、完全に透明な部分をくり抜いた非矩形ウィンドウを作成

という手順を踏む必要がありそう。
DxLibだと透過ウィンドウ(非矩形ではなく、あくまで透過)は組めないようなのでDxLib版はここまで。
これ以上はどうすることも出来ない。

対してgtkmmはterminatorのような背景透過処理が入ってるソフトを見るし、おそらく可能。
この辺りはゆっくり調べながら頑張る。


とりあえずしばらくは学校のクラスムービー作成に追われるので、マスコット作成は中断します。
幸いWindowsでAVIUtlを使って作るのでDxLib版デスクトップマスコットを表示させたまま作業できる。
早くgtkmm版作りたいなぁ…