画面に表示されている内容を指定した角度で回転

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
伸二郎

画面に表示されている内容を指定した角度で回転

#1

投稿記事 by 伸二郎 » 10年前

C言語ですでに画面に表示されている内容を指定した角度で回転したいですが、
可能でしょうか。
推測ですが、恐らく、いったん、どっかに存在する表示バッファを自分のメモリに読み込み、
回転してから、画像として再表示するだろうと思いますが、
具体的なやり方分からず、教えてください。

もしも、もっと簡単なやり方があれば、合わせて教えてください。

開発環境:
windows 7 64 bit
visual studio 2010
VC++

アバター
沖 滉均
記事: 237
登録日時: 13年前
住所: K県F市

Re: 画面に表示されている内容を指定した角度で回転

#2

投稿記事 by 沖 滉均 » 10年前

使用しているライブラリなどあれば書いていただいた方が良いと思います。
これだけだと返答は難しいです。

Dxライブラリであれば
GetDrawScreenGraphで描画内容を取り込んで、DrawRotaGraphなどで描画してやればいいのではないでしょうか?
There is no royal road to learning.
codeタグで指定できる言語
画像

アバター
usao
記事: 1887
登録日時: 11年前

Re: 画面に表示されている内容を指定した角度で回転

#3

投稿記事 by usao » 10年前

本当に
>画面
の内容なのであればPrintScreenキーを押したことにするとか
http://msdn.microsoft.com/ja-jp/library/cc364822.aspx

アバター
みけCAT
記事: 6734
登録日時: 13年前
住所: 千葉県
連絡を取る:

Re: 画面に表示されている内容を指定した角度で回転

#4

投稿記事 by みけCAT » 10年前

GetDesktopWindow関数で画面全体のウィンドウハンドルが取得でき、
そこにGetDCを使うことでデバイスコンテキストが取れるので、画面に表示されている内容を取得できます。

デバイスコンテクストの描画内容をBMP(に近い)形式に変換するには、このサイトの方法が使えます。
http://www13.plala.or.jp/kymats/study/M ... b_ddb.html
画像回転のアルゴリズムは、ここに紹介されています。
http://homepage2.nifty.com/tsugu/sotuke ... .html#0016
BMPファイルに保存したいなら、そのまま書き込んでください。
ウィンドウに表示したいなら、SetDIBitsToDevice関数でBMP(に近い)形式のデータを直接デバイスコンテキストに描画できます。
jpegファイルやpngファイルに保存したいなら、それぞれlibjpeglibpngを使えばいいでしょう。
libjpegの使い方 http://www.syuhitu.org/other/jpeg/jpeg.html
libpngの使い方 http://dencha.ojaru.jp/programs_07/pg_graphic_10a2.html
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

伸二郎

Re: 画面に表示されている内容を指定した角度で回転

#5

投稿記事 by 伸二郎 » 10年前

沖 滉均 様  usao  様
情報有難うございます。
いい勉強になりました。

/////////////////////////////////////////////

みけCAT  様

お返答で私の問題を見事に解決できました。
素晴らしいです。

それに画像の回転に関する情報までご提供くださって
本当にありがとうございました。

閉鎖

“C言語何でも質問掲示板” へ戻る