トップページ > 記事閲覧
グラフィックハンドルからαチャンネル付き画像を保存したい
名前:画像を保存し隊 日時: 2019/08/23 22:41

簡単な画像処理でDxライブラリにお世話になっている者です。 グラフィックハンドルからαチャンネルを持つ画像を保存したいです。 配布されているライブラリの中からこれを実現できる関数を探しているのですが見つかりません。 SoftImageから保存する関数は見つけたのですが、グラフィックハンドルとリンクされたSoftImageを見つける関数も見つかりませんでした。 どうすればグラフィックハンドルから画像を保存できるでしょうか? ご教示いただけると幸いです。
メンテ

Page: 1 |

Re: グラフィックハンドルからαチャンネル付き画像を保存したい ( No.1 )
名前:管理人 日時:2019/08/24 19:33

MakeScreen でアルファチャンネル付きの画像を作成して、そこに保存したい画像を ブレンドモード DX_BLENDMODE_SRCCOLOR で書き込み、 SaveDrawScreen でファイルに保存することができます // 保存したい画像のサイズを取得 int w, h ; GetGraphSize( GraphHandle, &w, &h ) ; // 画像と同じサイズの『描画先にできるグラフィックハンドル(アルファチャンネル付き)』を作成 int TempScreen = MakeScreen( w, h, TRUE ) ; // 作成したグラフィックハンドルを描画先にする SetDrawScreen( TempScreen ) ; // ブレンドモードを DX_BLENDMODE_SRCCOLOR に変更( 描画元の色がそのまま書き込まれるモード ) SetDrawBlendMode( DX_BLENDMODE_SRCCOLOR, 255 ) ; // 保存したい画像を描画 DrawGraph( 0, 0, GraphHandle, TRUE ) ; // SaveDrawScreen でpngファイルに保存 SaveDrawScreen( 0, 0, w, h, "SaveImage.png", DX_IMAGESAVETYPE_PNG ) ; // 作成したグラフィックハンドルを削除 DeleteGraph( TempScreen ) ; よろしければお試しください m(_ _)m
メンテ
Re: グラフィックハンドルからαチャンネル付き画像を保存したい ( No.3 )
名前:画像を保存し隊(解決) 日時:2019/08/25 22:17

ありがとうございます!無事保存することができました。 確かに一時的にグラフィックハンドルを生成してそこに描画すれば、SaveDrawScreenで保存することができますね。 そこでここ1週間悩まされていたので非常に助かりました。 本当にありがとうございます。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存