【问题标题】:Paint when mouse is over an image当鼠标悬停在图像上时绘画
【发布时间】:2013-03-20 21:06:46
【问题描述】:
我正在开发基于 .Net 2.0 的 Window 应用程序。
我使用图片框来显示图像。使用具有在该图像上绘制线条的能力。 Picturebox sizemode 设置为缩放。现在在图片框中打开的图片显示在图片框的中心,图片周围有空格。
我拥有的代码能够在图片框上绘制。但我想限制在图片框上绘画。用户应该只能在图片框的图像上绘画。
你能在这种情况下指导我吗?
【问题讨论】:
标签:
c#
winforms
user-interface
【解决方案1】:
这段代码只写入图片框中某处的图像。希望这是您的想法。
private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
var p = new Pen(Color.Red, 5f);
var pbox = sender as PictureBox;
var area = (Bitmap)pbox.Image;
var g = Graphics.FromImage(area);
g.DrawEllipse(p, e.X, e.Y, 5, 5);
pbox.Image = area;
p.Dispose();
g.Dispose();
}