Re: LoadGraphせずに画像サイズを求める ( No.1 ) |
- 名前:管理人 日時:2015/05/30 01:37
今のところは LoadGraph や LoadSoftImage で読み込む前にサイズを取得する手段はありません・・・
> もし、LoadGraph関数によっていったん画像データをメモリに展開してからGetGraphSizeすることと、
> 上記のようにファイル名(パス)からいきなり縦横サイズを取得することとの間に、
> パフォーマンス的な差が見込めそうであれば、そういう関数があるとうれしいなと思いました。
もしサイズをチェックした後実際には読み込まない、という場合があるのでしたら当然サイズのみを
チェックする関数を用意してそれを使用した方が処理時間は少なくなりますが、
仮にサイズをチェックした後必ず読み込む、ということになりますとサイズのチェックの分だけ
処理時間が長くなってしまいます
サイズをチェックするだけで後読み込みは行わない、という場合があるのでしょうか?
|
Re: LoadGraphせずに画像サイズを求める ( No.2 ) |
- 名前:Ketty 日時:2015/05/30 12:09
>サイズをチェックするだけで後読み込みは行わない、という場合があるのでしょうか?
はい(^^)
サイズが、期待の大きさであるときだけ読み込みたいというものです。
おっしゃるとおり、ロードするだけなら、
わざわざサイズ取得してからロードするメリットはないのですが、
サイズ取得後にロードするかしないかを分岐したいというのが目的です。
現在、ユーザー指定の任意のサイズの画像(複数枚)を扱えるツールのようなものを検討しているのですが、
LoadDivGraph関数で分割読み込みする際に、
分割数だけはツール側で決められているけど、
1コマあたりの縦横サイズは任意で、
画像全体サイズは、1コマあたりの横(縦)サイズ × X(Y)方向の分割数でぴったりじゃないとNGにする、
というルールを設けようと思うのですが、
ツールの起動時点で、
特定のディレクトリに設置されたすべての画像ファイルについて一気にチェックして、
NGのものについてはエラー通知したいと思っています。
そこで、その判定をできるだけ早くしてあげたいなと思っています。
現状の構想では、1ファイルずつ、
LoadGraphして、
GetGraphSizeして、
上記判定して、
NGなら、LoadGraphしたハンドルをDeleteGraphしてエラー通知する
OKなら、LoadDivGraphする・・・という流れを予定しているのですが、
先にサイズだけ知ることが出来た方が、スムーズになりそうだなぁと思った次第です。
|
Re: LoadGraphせずに画像サイズを求める ( No.3 ) |
- 名前:管理人 日時:2015/05/31 18:30
|
Re: LoadGraphせずに画像サイズを求める ( No.4 ) |
- 名前:Ketty(解決) 日時:2015/05/31 21:30
管理人様
どうもありがとうございました(^^)
VisualC++ 用にて、
GetImageSize_File関数が期待通り処理されることを確認しました。
GetImageSize_Mem関数はまだ使っておりませんが、
解決とさせていただきます。
|