dpi値を取得したい – 固定ページ 2 – プログラミング – Home

通知
すべてクリア

dpi値を取得したい

固定ページ 2 / 2

PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

多分、.NET 2003と同じだと思いますが、
ツリーのリンカの下に入力と言う項目があると思います。
これを選択して追加の依存ファイルに記述します。

あと、質問内容が変わったのであればスレッドを変えた方がいいかもと思いました。
問題そのものはGDI+を使うと言う事には直接関係なくてライブラリのリンク時の
設定方法ですから、そういう題名で別に質問した方が他の人が見た時に質問内容が
一目でわかるのでよろしいかと。


返信引用
GG
 GG
(@GG)
ゲスト
結合: 18年前
投稿: 185
Topic starter  

PATIOさん
ご回答ありがとう。

>あと、質問内容が変わったのであればスレッドを変えた方がいいかもと思いました。
わかりました、今後注意します。

>多分、.NET 2003と同じだと思いますが、
>ツリーのリンカの下に入力と言う項目があると思います。
>これを選択して追加の依存ファイルに記述します。
わかりました。
「追加する依存関係」のところですね。

今回のGDI+のgdiplus.libを追加しなかった、多分、既に入っているかな(推測)

話が戻ります、

subaru さんのコメント
>GetHorizontalResolution()
>GetVerticalResolution()
でDPI値を取得できました。

_bstr_t bstr( fname );
Image img( bstr ); //ここで読み込まれる
REAL DpiX=img.GetHorizontalResolution();
REAL DpiY=img.GetVerticalResolution();

一つの問題があります
今回はDpi値を取得するだけですが、_bstr_tクラスを使いました。
Dpi値の取得後、それで、_bstr_tの役割が終わりました。
(Image表示などはGDIを使っています)
ここで、
Image img( bstr );
にメモリを使っていますね、そのImageのサイズは小さいときに無視できますが、
大きいサイズの場合(約60MB)無視できなくなります。
そういう場合は、どうしたらいいでしょうか。
(_bstr_tクラスは自動開放してくれます、
使わないときに、どうやら強制開放できるのでしょうか)

よろしくお願いします。


返信引用
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

Imageクラスの仕様をきちんと確認する必要がありますけれど、
DPIを取得する部分を関数化してImageをローカル変数として作成すれば、
デストラクタで開放されませんか?
それともImageクラスに強制的に保持しているイメージを開放させるような
関数があるのではないかと言う意味なんでしょうか?
ローカル変数はスコープから外れると開放されると言うのは理解されていますか?


返信引用
GG
 GG
(@GG)
ゲスト
結合: 18年前
投稿: 185
Topic starter  

PATIOさん
ご回答ありがとう。

>ローカル変数はスコープから外れると開放されると言うのは理解されていますか?
なるほど、これを忘れていました。

この問題を解決しました、気持ちがよくなりました。
どうもありがとうございました。


返信引用
固定ページ 2 / 2

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました