四角形の描画
- 題名: 四角形の描画
 - 著者: kunina
 - 日時: 2010/05/17 21:47:11
 - ID: 26830
 - この記事の返信元: 
 - この記事への返信: 
 - ツリーを表示
 
 
 
- 題名: Re[1]: 四角形の描画
 - 著者: 魔界の仮面弁士
 - 日時: 2010/05/17 23:14:32
 - ID: 26832
 - この記事の返信元: 
- 
[26830] 四角形の描画 kunina 2010/05/17 21:47:11
 
 - この記事への返信: 
 - ツリーを表示
 
 
 
- 題名: Re[2]: 四角形の描画
 - 著者: kunina
 - 日時: 2010/05/18 22:13:44
 - ID: 26840
 - この記事の返信元: 
 - この記事への返信: 
 - ツリーを表示
 
 
 
 
分類:[.NET]
2010/05/17(Mon) 21:57:53 編集(投稿者) 2010/05/17(Mon) 21:57:43 編集(投稿者) Visual Studio 2005 C#にて四角形を描画しようとしているのですが。 縦サイズ、横サイズのどちらかがマイナス値の場合描画されません。 円の描画の場合マイナス値があっても描画できるのですがそれはできないのでしょうか…? マウスがクリックされた時に、縦横の長さがどちらも正の値の場合、始点に対し右下へ四角形が描画。 どちらも負の値の場合、始点に対し左上に描画されてほしいのですが。 public partial class Form1 : Form { Image image; public Form1() { image = new Bitmap(300, 300); InitializeComponent(); } private void Form1_MouseDown(object sender, MouseEventArgs e) { Brush brush = new SolidBrush(Color.Black); Graphics gra = Graphics.FromImage(image); // 四角形(ここの30の値を負値にすると描画されない) gra.FillRectangle(brush, e.X, e.Y, 30, 30); // 円 //g.DrawRectangle(brush, e.X, e.Y, -30, -30); Invalidate(); } protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); if (image != null) { e.Graphics.DrawImage(image, 0, 0); } } }