如何将我的Graphics.Drawline绘图转换为面板,保存图像?

时间:2014-02-05 19:24:22

标签: c# .net gdi+

我有一个名为“画布”的面板。它是透明的。所以背景来自形式图像,它是深蓝色。这显示在面板或画布中。

当我将画布保存到图像时,它会保存背景,但不是我在其上绘制的,我的画线笔是黄色的。我可以在面板上看到它。但是当我保存它时...图像中没有黄线。

我错过了什么?我的黄线在哪里?

我正在使用我的计时器滴答来运行...以获取更新视图。 这跟踪CNC型机器的位置。给出了视觉效果 机器与零有关。

我的最终目标是拥有一个可缩放的“视口”,从而获得它 进入图像,以便于调整大小,并在pictureBox中显示,这将是 处理拉伸的图像并自动居中?

我已经阅读了一些复杂的解决方案,但我追求简单的解决方案。 任何帮助,将不胜感激。此致


private void VMoveNow()//Draw on panel called "canvas".
{
    double a = GV.MYa * -1; //Change Direction of Y Drawing.
    xc = Convert.ToInt32(GV.MXa) + (canvas.Width / 2);
    yc = Convert.ToInt32(a) + (canvas.Height / 2);
    g = canvas.CreateGraphics();
    g.DrawLine(p, x, y, xc, yc);
    x = xc;
    y = yc;
    g.Dispose();
}
private void SaveBMP() 
{
    try
    {
        Bitmap mybmp = new Bitmap(canvas.Width, canvas.Height);
        canvas.DrawToBitmap(mybmp, canvas.Bounds);
        mybmp.Save("C:\\myimage.bmp");
    }
    catch
    {
        return;
    }

}

1 个答案:

答案 0 :(得分:0)

谢谢你的期待。

我经过多次尝试后回答了我自己的问题...我已经发现我可以缩放我用于此图纸的var ...而且Drawline的大小也会因此而缩放。

所以我现在在面板中缩放Drawline绘图,不需要图片或图片框。是我所希望的。

将笔宽设置为-1可以处理它的大小调整。