在图像上绘制点

时间:2011-03-10 07:38:40

标签: c# points

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

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

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

您可以为图像创建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线。

答案 2 :(得分:1)

在您的情况下,只需将您的点绘图代码放到表单的OnPaint事件处理程序中。由于形式重绘常规,你的观点消失了