gpt4 book ai didi

c# - 如何在 C# 中将 Graphics 对象保存为图像?

转载 作者:太空狗 更新时间:2023-10-29 18:14:21 32 4
gpt4 key购买 nike

我有面板和各种控件。我想将此面板的图像保存到文件中,我该怎么做?

我需要做一些类似屏幕截图的事情,但我只需要我的应用程序中某个面板的图像,我想通过在我的应用程序中单击按钮来执行此操作。

最好的问候,普里莫兹


编辑:我还使用此代码在此面板上绘制

            Graphics g = chartTemperature.CreateGraphics();    
g.DrawLine(p, prevPoint, e.Location);
prevPoint = e.Location;

但后来我没有把它变成图像。为什么,以及如何解决这个问题?


编辑 2:

namespace Grafi
{
public partial class Form1 : Form
{

bool isDrawing = false;
Point prevPoint;

public Form1()
{
InitializeComponent();
}

private void chartTemperature_MouseDown(object sender, MouseEventArgs e)
{
isDrawing = true;
prevPoint = e.Location;
}

private void chartTemperature_MouseMove(object sender, MouseEventArgs e)
{
Pen p = new Pen(Color.Red, 2);
if (isDrawing)
{
Graphics g = chartTemperature.CreateGraphics();
g.DrawLine(p, prevPoint, e.Location);
prevPoint = e.Location;

numOfMouseEvents = 0;
}
p.Dispose();
}

private void chartTemperature_MouseUp(object sender, MouseEventArgs e)
{
isDrawing = false;
}
}
}

这是我在图表上绘制自定义线条的绘图代码。你能帮我正确地做吗?

最佳答案

使用 Control.DrawToBitmap() 方法。例如:

    private void button1_Click(object sender, EventArgs e) {
using (var bmp = new Bitmap(panel1.Width, panel1.Height)) {
panel1.DrawToBitmap(bmp, new Rectangle(0, 0, bmp.Width, bmp.Height));
bmp.Save(@"c:\temp\test.png");
}
}

关于c# - 如何在 C# 中将 Graphics 对象保存为图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4164190/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com