作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有面板和各种控件。我想将此面板的图像保存到文件中,我该怎么做?
我需要做一些类似屏幕截图的事情,但我只需要我的应用程序中某个面板的图像,我想通过在我的应用程序中单击按钮来执行此操作。
最好的问候,普里莫兹
编辑:我还使用此代码在此面板上绘制
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/
我是一名优秀的程序员,十分优秀!