Re: 画像の輪郭の半透明化(マスク) ( No.1 ) |
- 名前:dz 日時:2008/02/23 12:53
使えますよ
白黒のマスク画像を用意して
白と黒の境界をガウスぼかしなどでグレーにすれば
境界が半透明になってエッジが綺麗に見えます
|
Re: 画像の輪郭の半透明化(マスク) ( No.2 ) |
- 名前:tatu.net 日時:2008/02/23 13:18
ぼくもちょうど同じことを質問しようと思っていたので割り込ませていただきます。
中間色のグレーの色数やマスク画像の形式に制限はあったるするのでしょうか?
テストとして白→黒のグラデーションのPNG形式の画像をマスクにしたところ、
全体に透過処理がかかってしまったのですが・・・
|
Re: 画像の輪郭の半透明化(マスク) ( No.3 ) |
- 名前:いいだ 日時:2008/02/23 17:14
>dzさん
回答ありがとうございます。
しかし、グレー色を含んだ画像により、マスク処理を行いましたが、うまく表示が出来ませんでした。
どうやら、グレー色の部分も黒と判断されてしまったようです。
以下に、用いたソースコードの一部を記述します。
何か間違いがあれば、ご指摘よろしくお願いします。
int Handle[2];
CreateMaskScreen();
Handle[0] = LoadMask("mask.bmp");//マスクに用いた画像
Handle[1] = LoadGraph("illust.bmp");//マスクをかけたい画像
DrawMask(0,0,Handle[0],DX_MASKTRANS_BLACK);
DrawGraph(0,0,Handle[1],FALSE);
|
Re: 画像の輪郭の半透明化(マスク) ( No.4 ) |
- 名前:TNT 日時:2008/02/23 18:50
単に輪郭をきれいに(半透明に)したいのであれば、画像そのものを半透明にしてしまうのが楽です。
アルファチャンネル付きPNG形式が、透過画像のフォーマットとしては一般的かと思います。
問題は、このフォーマットを扱える手軽なペイントソフトがどこにあるか、なのですが…
(私はそこら辺はあまり詳しくありませんので)
|
Re: 画像の輪郭の半透明化(マスク) ( No.5 ) |
- 名前:tatu.net 日時:2008/02/23 19:31
>TNTさん
PictBearというソフト等で透過画像のフォーマット扱えますね。
が、画像そのものを半透明にしてしまってもDXライブラリで読み込むと不透明になってしまいます。
DXライブラリで半透明の処理をするのは無理ってことですかね・・・
|
Re: 画像の輪郭の半透明化(マスク) ( No.6 ) |
- 名前:TNT 日時:2008/02/23 19:40
>tatu.netさん
私の環境では透過pngは普通に扱えました。
うーん、何の違いなのでしょう…
|
Re: 画像の輪郭の半透明化(マスク) ( No.7 ) |
- 名前:かたぱると 日時:2008/02/23 20:19
横から失礼いたします。
以前同じような処理をやろうとしたときに
(輪郭のみ実線で中身は半透明)
DDSファイルを作成して利用してました。
DirectX準拠のα情報付きフォーマットというべきでしょうか。
DXLibはDDSも読み込めますので問題ないかと。
DDSはDirectXSDKのツールの中にある
DirectX Texture Toolというソフトで作れます。
「Microsoft DirectX 9.0 SDK」 → 「DirectX Utilities」 → 「DirectX Texture Tool」
元画像とα情報の白黒画像をブレンドしてDDSファイルにする、といったものです。
DDS作成用のプラグインがある場合は
市販ソフトなどで対応しているものもあるようです
(知り合い絵師談)
以前作ったテスト用のDDSファイルを以下にあげてみました。
興味ある方はDXLibで読み込んで表示してみてはいかがでしょうか。
ttp://okurin.bitpark.co.jp/download.php?unb=4ad68&sid=B47bffff1b320f&uid=xujnveFr
|
Re: 画像の輪郭の半透明化(マスク) ( No.8 ) |
- 名前:いいだ 日時:2008/02/24 13:20
>TNTさん
回答ありがとうございます。
アルファチャンネル付きPNGによって、半透過色の使用が可能であることがわかりました。
ありがとうございました。
>tatu.netさん
shin's PNG Editerというソフトで作成したPNG画像ではうまく表示されました。
よろしければ試してみてはどうでしょうか。
>かたぱると さん
回答ありがとうございます。
DirectX Texture Toolを使用したところ、半透過色をもつddsファイルが作成できました。
わざわざテスト用のファイルまで用意していただき、ありがとうございました。
|
Re: 画像の輪郭の半透明化(マスク) ( No.9 ) |
- 名前:tatu.net 日時:2008/02/25 18:50
dds形式、面白いですねぇ。使わせてもらいます
>TNTさん、いいださん
すみません、16bitのため画像が荒くて気付かなかっただけで、ちゃんと半透明になっていました。レスありがとうございましたm(__)m
|