将 createGraphics 保存为图像文件中

发布于 2024-09-15 12:22:07 字数 978 浏览 3 评论 0原文

如何将图形的值传输到位图,以便将其保存为 jpg 或 bmp 文件。

这是我的代码:

private void pictureBox1_Paint_1(object sender, PaintEventArgs e)
    {
       using(var p = new Pen(Color.Blue, 4)){
           for (int i = 0; i < _listPS.Count; i++)
           {
            e.Graphics.DrawLine(_pen, _listPS[i], _listPE[i]);
           }
       }
    }

假设 _listPS 和 _listPE 有值。

啊!解决了,哈哈! :) 这是我的解决方案:

private Bitmap _mybitmap;
private void pictureBox1_Paint_1(object sender, PaintEventArgs e)
    {   
        _mybitmap = new Bitmap(pictureBox1.Width, pictureBox1.Heigth);
        Graphics _tempg = Graphics.FromImage(_mybitmap);

       using(var p = new Pen(Color.Blue, 4){
           for (int i = 0; i < _listPS.Count; i++)
           {
               e.Graphics.DrawLine(_pen, _listPS[i], _listPE[i]);
               _tempg.DrawLine(_pen, _listPS[i], _listPE[i]);
           }

           _tempg.Dispose();
        }
    }

How can I transfer the values of my graphics to a bitmap so I can save it as jpg or bmp file.

here's my code:

private void pictureBox1_Paint_1(object sender, PaintEventArgs e)
    {
       using(var p = new Pen(Color.Blue, 4)){
           for (int i = 0; i < _listPS.Count; i++)
           {
            e.Graphics.DrawLine(_pen, _listPS[i], _listPE[i]);
           }
       }
    }

suppose that _listPS and _listPE have values.

ah! Solved it LOL! :)
Here's my solution:

private Bitmap _mybitmap;
private void pictureBox1_Paint_1(object sender, PaintEventArgs e)
    {   
        _mybitmap = new Bitmap(pictureBox1.Width, pictureBox1.Heigth);
        Graphics _tempg = Graphics.FromImage(_mybitmap);

       using(var p = new Pen(Color.Blue, 4){
           for (int i = 0; i < _listPS.Count; i++)
           {
               e.Graphics.DrawLine(_pen, _listPS[i], _listPE[i]);
               _tempg.DrawLine(_pen, _listPS[i], _listPE[i]);
           }

           _tempg.Dispose();
        }
    }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

扮仙女 2024-09-22 12:22:07

试试这个

Bitmap _image = new Bitmap(100, 100);
Graphics _g = Graphics.FromImage(_image);

//Graphics _g = pictureBox1.CreateGraphics();
Pen _pen = new Pen(Color.Red, 3);
Point myPoint1 = new Point(10, 20);
Point myPoint2 = new Point(30, 40);

for (int i = 0; i < _listPS.Count; i++)
{
    _g.DrawLine(_pen, _listPS[i], _listPE[i]);
}

_image.Save(@"D:\test.bmp");
_image.Dispose();
_g.Dispose();

Try this one

Bitmap _image = new Bitmap(100, 100);
Graphics _g = Graphics.FromImage(_image);

//Graphics _g = pictureBox1.CreateGraphics();
Pen _pen = new Pen(Color.Red, 3);
Point myPoint1 = new Point(10, 20);
Point myPoint2 = new Point(30, 40);

for (int i = 0; i < _listPS.Count; i++)
{
    _g.DrawLine(_pen, _listPS[i], _listPE[i]);
}

_image.Save(@"D:\test.bmp");
_image.Dispose();
_g.Dispose();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文