トップページ > 過去ログ > 記事閲覧
DeleteGraph拡張についての要望
名前:minato 日時: 2010/04/03 13:16

現在DXライブラリの仕様ではDerivationGraphで作成したグラフィックハンドルは、 元になったグラフィックハンドルと画像リソースを「共有している」という形になっているために元のグラフィックハンドルにDeleteGraphしただけではリソースは解放されない、というのを掲示板の過去ログを調べて知ったのですが、 これを強制的に削除する関数というのを用意してはいただけないでしょうか? 共有しているグラフィックハンドルが存在したとしても、そのグラフィックハンドルを無効にし元のリソースを強制的に削除するというものです。 大変身勝手な要望かとは思うのですが、DerivationGraphで大量に派生画像を作った場合その管理がとても煩雑になってしまいますので、そのような関数がありますととても嬉しく思います。 お忙しいところ申し訳ありませんが、どうかご一考くださると幸いです。

Page: 1 |

Re: DeleteGraph拡張についての要望 ( No.1 )
名前:管理人 日時:2010/04/05 01:55

確かに DerivationGraph の用途によっては管理が大変ですね・・・ というわけで、派生したグラフィックハンドルも元となったハンドルも纏めて削除できる関数を追加しましたので よろしければこちらをダウンロードしてください http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe // VisualC++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe // BorlandC++ 用 (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』、VCをお使いの場合は『リビルド』をして下さい) 追加した関数は以下の関数です // 指定のグラフィックハンドルと、同じグラフィックデータから派生している // グラフィックハンドル( DerivationGraph で派生したハンドル、LoadDivGraph で // 読み込んで作成された複数のハンドル )を一度に削除する int DeleteSharingGraph( int GrHandle ) ; 挙動が違うだけで使い方( 渡す引数 )は DeleteGraph と同じです // 例 int handle, haseihandle ; handle = LoadGraph( "Test1.bmp" ) ; haseihandle = DerivationGraph( 0, 0, 10, 10, handle ) ; // handle も haseihandle も削除 DeleteSharingGraph( haseihandle ) ; よろしければお使い下さい m(_ _)m
Re: DeleteGraph拡張についての要望 ( No.2 )
名前:minato 日時:2010/04/06 03:11

ありがとうございます、これでグラフィックハンドル管理が格段に楽になりました! LoadDivGraphで読み込んだハンドルの場合は、どれか一つにDeleteSharingGraphをすれば全て削除されるということでよろしいのでしょうか?
Re: DeleteGraph拡張についての要望 ( No.3 )
名前:管理人 日時:2010/04/19 00:32

はい、その通りです

Page: 1 |