1

我有一个图像,我需要在其上绘制一些点。问题是这些点出现了几分之一秒,然后消失了。如何使点在图像上永久存在。我已将图像设置为表单的背景。

我正在研究 C# .net 框架。谢谢。

4

3 回答 3

2

您可以为图像创建一个 Graphics 对象,然后在图像上绘制这些点。这确实使它们成为永久性的。像这样:

public void ImageDrawing()
{
    // NOTE: There are several ways you can load an image
    // this is just using an existing file on disk
    var img = Image.FromFile("myimage.jpg");
    using (var g = Graphics.FromImage(img))
    {
        g.DrawLine(Pens.AliceBlue, new Point(), new Point(img.Width - 1, img.Height - 1));
    }
    this.BackgroundImage = img;
}

这将从左上角到右下角画一条 AliceBlue 线。

于 2011-03-10T07:53:15.207 回答
1

我们需要看代码。我的猜测是您正在使用 CreateGraphics 进行绘制,而不是在 OnPaint 中这样做,因此当重新绘制控件并且您再也不会绘制它时,它只会被清除。覆盖 OnPaint 并在那里完成所有绘图(或发布相关示例)

于 2011-03-10T07:42:53.510 回答
1

在您的情况下,只需将您的点绘图代码放到OnPaint表单的事件处理程序中。由于表格重绘例程,您的积分消失了

于 2011-03-10T08:03:48.443 回答