如何在 C# 中将绘制的图形另存为 JPEG 图像
How to plotted graph save as a JPEG image in C#
我想通过单击保存将我绘制的图形保存为 JPEG 图像 button.Please 帮我解决问题 this.this 我绘制的图形是这样的。
这是我用来绘制图表的代码。
private void Output_Load(object sender, EventArgs e)
{
List<Graph> ObservingData = new List<Graph>(); // List to store all available Graph objects from the CSV
// Loops through each lines in the CSV
foreach (string line in System.IO.File.ReadAllLines(pathToCsv).Skip(1)) // .Skip(1) is for skipping header
{
// here line stands for each line in the csv file
string[] InCsvLine = line.Split(',');
// creating an object of type Graph based on the each csv line
Graph Inst1 = new Graph();
Inst1.AvI = double.Parse(InCsvLine[1]);
Inst1.AvE = double.Parse(InCsvLine[2]);
chart1.Series["Speed"].YAxisType = AxisType.Primary;
chart1.Series["Speed"].Points.AddXY(Inst1.Date.AvI, Inst1.AvE);
chart1.Series["Speed"].ChartType = SeriesChartType.FastLine;
}
}
这是我的部分.csv文件数据如下;
Name,AvI,AvE,Test
Amal,3.28000,100,TRUE
Kamal,3.30000,150,FALSE
Ann,3.32000,200,FALSE
Jery,3.34000,220,FALSE
TaW,3.39000,130,FALSE
Nane,3.40000,125,TRUE
Petter,3.42000,300,TRUE
Sam,3.46000,265,TRUE
Daniyel,3.50000,245,TRUE
Don,3.62000,146,FALSE
Zip,3.64000,201,FALSE
Sera,3.68000,300,FALSE
Perera,3.70000,200,TRUE
Dam,3.90000,170,TRUE
您是否尝试过在图表控件上使用 SaveImage 方法?
public class Chart : Control, ISupportInitialize, IDisposable
{
/// <summary>Saves an image to the specified file.</summary>
/// <param name="imageFileName">The name of the file in which image is saved to.</param>
/// <param name="format">The image format.</param>
public void SaveImage(string imageFileName, ImageFormat format)
示例用法
speedChart.SaveImage("speedChart", ImageFormat.Jpeg);
我找到了 this.This 的解决方案。
private void btnSave_Click(object sender, EventArgs e)
{
SaveFileDialog dlg = new SaveFileDialog();
if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
this.chart1.SaveImage(dlg.FileName, ChartImageFormat.Jpeg);
MessageBox.Show("Chart details Successful saved as jpeg image");
}
这是一个使用 SaveFileDialog
并将图表输出为 png 图像的示例。
private void buttonSave_Click(object sender, EventArgs e)
{
try
{
string path;
SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "Png Image (.png)|*.png";
if (sfd.ShowDialog() == DialogResult.OK)
{
path = sfd.FileName;
if (!string.IsNullOrEmpty(path))
{
chart1.SaveImage(path, ChartImageFormat.Png);
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
我想通过单击保存将我绘制的图形保存为 JPEG 图像 button.Please 帮我解决问题 this.this 我绘制的图形是这样的。
这是我用来绘制图表的代码。
private void Output_Load(object sender, EventArgs e)
{
List<Graph> ObservingData = new List<Graph>(); // List to store all available Graph objects from the CSV
// Loops through each lines in the CSV
foreach (string line in System.IO.File.ReadAllLines(pathToCsv).Skip(1)) // .Skip(1) is for skipping header
{
// here line stands for each line in the csv file
string[] InCsvLine = line.Split(',');
// creating an object of type Graph based on the each csv line
Graph Inst1 = new Graph();
Inst1.AvI = double.Parse(InCsvLine[1]);
Inst1.AvE = double.Parse(InCsvLine[2]);
chart1.Series["Speed"].YAxisType = AxisType.Primary;
chart1.Series["Speed"].Points.AddXY(Inst1.Date.AvI, Inst1.AvE);
chart1.Series["Speed"].ChartType = SeriesChartType.FastLine;
}
}
这是我的部分.csv文件数据如下;
Name,AvI,AvE,Test
Amal,3.28000,100,TRUE
Kamal,3.30000,150,FALSE
Ann,3.32000,200,FALSE
Jery,3.34000,220,FALSE
TaW,3.39000,130,FALSE
Nane,3.40000,125,TRUE
Petter,3.42000,300,TRUE
Sam,3.46000,265,TRUE
Daniyel,3.50000,245,TRUE
Don,3.62000,146,FALSE
Zip,3.64000,201,FALSE
Sera,3.68000,300,FALSE
Perera,3.70000,200,TRUE
Dam,3.90000,170,TRUE
您是否尝试过在图表控件上使用 SaveImage 方法?
public class Chart : Control, ISupportInitialize, IDisposable
{
/// <summary>Saves an image to the specified file.</summary>
/// <param name="imageFileName">The name of the file in which image is saved to.</param>
/// <param name="format">The image format.</param>
public void SaveImage(string imageFileName, ImageFormat format)
示例用法
speedChart.SaveImage("speedChart", ImageFormat.Jpeg);
我找到了 this.This 的解决方案。
private void btnSave_Click(object sender, EventArgs e)
{
SaveFileDialog dlg = new SaveFileDialog();
if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
this.chart1.SaveImage(dlg.FileName, ChartImageFormat.Jpeg);
MessageBox.Show("Chart details Successful saved as jpeg image");
}
这是一个使用 SaveFileDialog
并将图表输出为 png 图像的示例。
private void buttonSave_Click(object sender, EventArgs e)
{
try
{
string path;
SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "Png Image (.png)|*.png";
if (sfd.ShowDialog() == DialogResult.OK)
{
path = sfd.FileName;
if (!string.IsNullOrEmpty(path))
{
chart1.SaveImage(path, ChartImageFormat.Png);
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}