ページ 11

画像処理についてです。

Posted: 2012年2月07日(火) 09:56
by おならちゃん。
画像をロードしたり描画したりする方法にLoadGraphやDrawGraphがありますが、高画質の画像を扱う場合の関数はありますか?
高画質の画像を描画したら、半分以上の画像が切れてしまいました。

これは、LoadGraphでは正常に画像がよみとれているけど、DrawGraphで、範囲が狭いために途中で途切れてしまうのでしょうか?
それとも逆なのでしょうか?それとも両方なのでしょうか?

僕が今作りたいプログラムはwindows vista や windows 7 についているデスクトップの画像が自動に変わっていくというプログラムです。
なので、高画質で画像を処理したいです。

僕が使っている環境はVC++ 2008 Express Editionです。
なのでCimage以外でお願いします。ですが、Cimageが一番いい、使いやすい、という場合は教えてください。

OSは7を使っていますが、XPもあるのでそれように使いたいです。

よろしくお願いします。

Re: 画像処理についてです。

Posted: 2012年2月07日(火) 10:36
by softya(ソフト屋)
WindowsAPIではなくDXライブラリでの質問ということでよろしいですか?
この場合は、表示画面のサイズが足らずにはみ出しているだけだと思います。

方法としては、まずSetGraphModeで画面サイズを変更すること。
「DXライブラリ置き場 リファレンスページ SetGraphMode」
http://homepage2.nifty.com/natupaji/DxL ... .html#R4N1
これはDxLib_Initの前に呼び出したほうが良いです。

あるいは、描画サイズを変更することです。
「DrawExtendGraph」
http://homepage2.nifty.com/natupaji/DxL ... .html#R3N9

ただDXライブラリは、確か前に書かれていたjpgなど色々なフォーマットで保存できませんので、ご注意下さい。bmpは可能です。

[追記]
場合によってはGDI+を選択されたほうが良いかも知れません。
前回の解決チェック後にご紹介しています。
「atlimage.hが無い!? • C言語交流フォーラム ~ mixC++ ~」
http://dixq.net/forum/viewtopic.php?f=3&t=10156

Re: 画像処理についてです。

Posted: 2012年2月07日(火) 11:51
by おならちゃん。
softya様。
気づきませんでした!!!
ご回答ありがとうございます。やってみたところ成功することができました。本当にありがとうございます。
しかし、今からGDIに挑戦してみようかなと思っています。

ところで、

僕が作りたいのは、フォルダの順番に(ランダムに)中身をデスクトップに表示していくことが可能なプログラム。なのですが、
いまさらながら、デスクトップの画像を参照?しているパスをいじれば、画像が変わるのではないでしょうか?

Re: 画像処理についてです。

Posted: 2012年2月07日(火) 12:02
by softya(ソフト屋)
デスクトップの壁紙を変更するには、
「SystemParametersInfo 壁紙を変更する」
http://www.geocities.co.jp/SiliconValle ... ic/20.html
と言うWindowsAPIを使います。

動作確認していませんが、WindowsVista/7だとUACに書き換えを阻まれる可能性がありますが案外大丈夫かも知れません。試してみてください。

Re: 画像処理についてです。

Posted: 2012年2月08日(水) 10:14
by おならちゃん。
ご返事ありがとうございます。
SystemParametersInfoのwindows7の動作は
案外大丈夫でした(笑)

本当にありがとうございます。