Microsoft Visual C++ .NET でグラフィックスを作成

[戻る]
miyouken 2005/09/29(木) 12:54:09
Microsoft Visual Studio .NET 2003のMicrosoft Visual C++ .NETを使用しています。
このC++を用いてグラフィックスを作成したいのです。<graph.h>がないため、どのよう
なファイルをincludeすればよいのでしょうか。
具体的なサンプルプログラムが載っているホームページまたは書籍をご紹介していただ
ければうれしいのです。
よろしくお願いします。

PATIO 2005/09/29(木) 14:58:29
もっとやりたいことを具体的に書きましょう。
グラフィックスを作成したいでは漠然としすぎています。
あと、コンソールプログラムで何かやりたいのでしょうか?
GUI上でやるのであれば、また違った話になると思いますけれど。

ちなみに猫でもわかるプログラミングのHPでは、
「MS-C, VC++1.51をお持ちの方は、したのプログラムを実行してみて下さい。」
とありますので最近の開発環境では無理ではないかと思います。
実際問題として今時、Windows上でコマンドプロンプト上にグラフィック描画を
行うような需要は無いと思いますので提供されていないのではないでしょうか。

miyouken 2005/09/29(木) 22:28:38
返答ありがとうございます。具体的に言います。
熱の流れの計算プログラムを行い、その結果をx,y軸に「深さ-時間」などをとったグラ
フを表現したいのです。ちなみに、コンソールプログラムを用いたいと考えています。

Ban 2005/09/30(金) 01:06:55
C/C++ の場合、グラフィックの描画方法は環境依存です。(OSによって違う)

「Windows のコンソールプログラム」という前提が覆せないなら、
 ・DOS互換の古いコンパイラを探して使う(DOS互換で動作)。
 ・Windows 版の graph.h 互換のライブラリを探す/自作する。
 ・'*' 等でアスキーアートをする。
    ※エスケープシーケンス制御さえもWindows のバージョン依存ですが。
等が必要だと思います。

コンソールにこだわらず、Window を作るのが多分一番シンプルで、
この場合だと include すべきは <windows.h> でしょうか。
単純な線や図形の描画なら、GDI (Windows 版のグラフィック関数群) でできます。

Ban 2005/09/30(金) 03:42:27
ちょっと探した範囲では、ずばり互換というライブラリは見当たらず。

互換ではないものの(MSCとの差異情報あり)、
main から走らせるタイプで近そうなのは例えばこのあたりとか見つけました。
http://kilin.u-shizuoka-ken.ac.jp/software/wmgraph/_wmgraph.html
使ってみたことはないのでこのライブラリについてのご質問には多分答えられませんが、
もしも試されたらレポートなどフィードバックしていただけるとうれしいかも。

# ライセンスはどうなのだろう...。(記載がないような。

PATIO 2005/09/30(金) 10:20:29
コンソールでグラフィック描画を行う意義が見えないですね。
いや、ただやりたいんだと言われればそれまでですけれど。
現状でコンソールでグラフィック描画が出来るとしても需要が少ないでしょうし、
ライブラリを見つけてこないと出来ないので意義としては弱いかな。
GDIを使ってウインドウ上で描画するとしても使う関数が違うだけで
描画するために必要な考え方なんかはほとんど一緒だと思います。
まあ、DCと言う概念を理解した方がよりベターですが、
最初はDC = キャンバスくらいの意識でよいと思いますし。
グラフィックの部分はライブラリが絡んでくるので勉強範囲としては
純粋にC++言語の勉強と言うよりも開発環境も含めた勉強になると思います。
グラフィックの部分に歩を進めるのであれば、コンソールにこだわる必要は
ないかなとも思います。

Ban 2005/09/30(金) 12:59:31
> コンソールでグラフィック描画を行う意義が見えないですね。
> いや、ただやりたいんだと言われればそれまでですけれど。

新規で書くと考えれば確かに意義などほぼ見えませんが、
例えば、MS-C 用の過去の資産が山ほどあって、
プログラムの勉強がしたいわけもなく単に結果が欲しいだけだとか、
がんばって移植するよりも修正量が少ない方が有効なニッチな要件はあると思うのです。

> miyouken さん

もしも、学習に古い参考書などを使われているのであれば、
私もPATIO さん同様、GDI をお勧めします。
> コンソールにこだわらず、Window を作るのが多分一番シンプルで、
> この場合だと include すべきは <windows.h> でしょうか。
> 単純な線や図形の描画なら、GDI (Windows 版のグラフィック関数群) でできます。

miyouken 2005/10/01(土) 22:28:55
 ご返答ありがとうございます。
 私にとって「GDI」,「Windowを作る」など理解していない用語があり、返答内容も理
解しきれていません。少しずつ勉強して理解していきます。

Ban 2005/10/02(日) 00:23:34
C/C++ の場合、グラフィックの描き方は、OS ごとに違います。
そして、MS-DOSの頃と、Windows では、グラフィックの描き方も変わっています。

<graph.h>は、MS-DOS 等で使われていた方法です。
Windows では、コンソールプログラムでグラフィックというお望みの機能はほとんど
サポートされていません。
グラフを描きたいなら Windows 流のウィンドウプログラムを作るのが普通です。
# そして可能ならこれをお勧めしています。

また、Windows における、ウィンドウに線や図形を描く機能の名前がGDI
(Graphics Device Interface)です。例えば LineTo 等がこれに含まれます。
MS-DOS の頃と似ている機能もありますが、記法などは当然異なります。

ヘッダは、最低限 <wingdi.h> が必要です。

reshia [HomePage] 2005/10/02(日) 01:23:30
別にプログラムでグラフィックを描かなくても、
プログラムがやるのは計算と計算結果の出力だけで、
あとは、gnuplotに任せる・・とか。

miyouken 2005/10/02(日) 21:25:12
[[解決]]
皆さん、ありがとうございました。

古いスレッドには追加発言できません。