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

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
taketoshi
記事: 222
登録日時: 15年前
住所: 日本国

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

#1

投稿記事 by taketoshi » 13年前

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

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

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

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

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

#2

投稿記事 by softya(ソフト屋) » 13年前

Win32APIで説明しますが、線・図形などはGDI/GDI+でメモリ上のバッファを作成して、その上に描画します。
WM_PAINTで画面に表示しますが、メモリ上のバッファからコピーするだけです。
CAD系だと表示サイズと言う考え方も必要ですね。

ここが参考になるのでは?
「C#による漫画製作ソフトの作成」
http://virtualboy.ddo.jp/ichigata/programming/comic/
線や点で描画してますが、図形でも同じです。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

ISLe
記事: 2650
登録日時: 15年前
連絡を取る:

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

#3

投稿記事 by ISLe » 13年前

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

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

taketoshi
記事: 222
登録日時: 15年前
住所: 日本国

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

#4

投稿記事 by taketoshi » 13年前

ISLeさん

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

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

閉鎖

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