窗体上有一个名为pboxFull的PictureBox的控件,已加载了jpg图片,想要实现在图片上用鼠标点击一下时在鼠标点击处画一个半径为50的圆,可是我用下面这段代码实现时怎么画出来的圆不在鼠标点击处.
private void pboxFull_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
int intX = e.X - 50;
int intY = e.Y - 50; Pen penCircle = null;
Graphics graphCircle = null;
try
{
penCircle = new Pen(Color.Red,1);
graphCircle = Graphics.FromImag(this.pboxFull.Image);
graphCircle.DrawEllipse(penCircle,intX,intY,100,100);
this.pboxFull.Refresh();
}
finally
{
if ( penCircle != null )
{
penCircle.Dispose();
}
if ( graphCircle != null )
{
graphCircle.Dispose();
}
}
}
private void pboxFull_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
int intX = e.X - 50;
int intY = e.Y - 50; Pen penCircle = null;
Graphics graphCircle = null;
try
{
penCircle = new Pen(Color.Red,1);
graphCircle = Graphics.FromImag(this.pboxFull.Image);
graphCircle.DrawEllipse(penCircle,intX,intY,100,100);
this.pboxFull.Refresh();
}
finally
{
if ( penCircle != null )
{
penCircle.Dispose();
}
if ( graphCircle != null )
{
graphCircle.Dispose();
}
}
}
{
int intX = e.X - 50;
int intY = e.Y - 50; Pen p = new Pen(Color.Red, 2);
Graphics g = this.pictureBox1.CreateGraphics(); g.DrawEllipse(p, intX, intY, 100, 100); g.Dispose();
p.Dispose();
}我这里就可以,鼠标点击处为圆的圆心