ページ 11

作図ソフトウェアを作ってみたいのですが質問があります

Posted: 2012年9月17日(月) 14:39
by taketoshi
将来的にC#で作図ソフトウェアを作ってみたいです。
バリバリのCADではなく、板取等の面付ソフトを作りたいです
C#でGDI+等のグラフィックス機能を用いて書いてみたいと思っています。
ただ、まだ知識が追いつかず勉強している段階です。

その中で一つ質問があるのですが
実際に図形を描写する部分(キャンバス)はどの様に実装しているのでしょうか
フォームにベタ描写ってことはないでしょうし、何か特別なコントロールを作って描写しているのでしょうか?

Windowsのペイントなどを見ていてもキャンバスの部分はどうやって描写しているのだろう?と昔から疑問に思っています。
今まで、コモンコントロールしか使ったことないのでご指導をお願いします。

Re: 作図ソフトウェアを作ってみたいのですが質問があります

Posted: 2012年9月17日(月) 14:55
by softya(ソフト屋)
Win32APIで説明しますが、線・図形などはGDI/GDI+でメモリ上のバッファを作成して、その上に描画します。
WM_PAINTで画面に表示しますが、メモリ上のバッファからコピーするだけです。
CAD系だと表示サイズと言う考え方も必要ですね。

ここが参考になるのでは?
「C#による漫画製作ソフトの作成」
http://virtualboy.ddo.jp/ichigata/programming/comic/
線や点で描画してますが、図形でも同じです。

Re: 作図ソフトウェアを作ってみたいのですが質問があります

Posted: 2012年9月17日(月) 15:52
by ISLe
taketoshi さんが書きました:実際に図形を描写する部分(キャンバス)はどの様に実装しているのでしょうか
フォームにベタ描写ってことはないでしょうし、何か特別なコントロールを作って描写しているのでしょうか?
PictureBoxを載せて描画エリアに(範囲を限定)するのが王道だと思います。

PictureBoxに描画する方法はFormに描画するのと同じです。

Re: 作図ソフトウェアを作ってみたいのですが質問があります

Posted: 2012年9月17日(月) 15:58
by taketoshi
ISLeさん

いつもありがとうございます。
PictureBoxコントロールがC#にあったのでこれを使ってテストプログラムを書いてみます。
提示いただいたURLも参考になりますね。ありがとうございます。

疑問が解消したので解決とさせていただきます。