保存实时图表图像



我需要保存并打印笛卡尔实时图表中的图像,我已经在文档和教程中搜索过,但找不到任何东西。我该怎么做?我正在使用WinForms和C#与Visual Studio 2012 Express。

您可以简单地将图形控件转换为位图,如此答案所示,然后将其保存到文件中。使用实时图表示例中的图形控件 ( cartesianChart1

(:
Bitmap bmp = new Bitmap(cartesianChart1.Width, cartesianChart1.Height);
cartesianChart1.DrawToBitmap(bmp, new Rectangle(0, 0, bmp.Width, bmp.Height));
bmp.Save("C:\graph.png", ImageFormat.Png);

即使您的图形位于另一个窗口后面,这也有效。

使用Tatranskymedved的答案打印图像。

由于图形本身似乎不支持打印/将屏幕转换为图像,因此我建议自己创建此功能。

你需要什么?

  1. 截屏 - 捕获活动窗口的屏幕截图?

-

ScreenCapture sc = new ScreenCapture();
// capture entire screen, and save it to a file
Image img = sc.CaptureScreen();
// display image in a Picture control named imageDisplay
this.imageDisplay.Image = img;
// capture this window, and save it
sc.CaptureWindowToFile(this.Handle,"C:\temp2.gif",ImageFormat.Gif);

如果您只需要打印控件的屏幕:C# 在应用程序中获取 .net 控件的屏幕截图并附加到 Outlook 电子邮件

-

public static void TakeCroppedScreenShot( string fileName, int x, int y, int width, int height, ImageFormat format)
{
    Rectangle r = new Rectangle(x, y, width, height);
    Bitmap bmp = new Bitmap(r.Width, r.Height, PixelFormat.Format32bppArgb);
    Graphics g = Graphics.FromImage(bmp);
    g.CopyFromScreen(r.Left, r.Top, 0, 0, bmp.Size, CopyPixelOperation.SourceCopy);
    bmp.Save(fileName, format);
}
  1. 打印屏幕截图 - 打印图像 c#.net

-

using System.Drawing.Printing;
...
protected void btnPrint_Click(object sender, EventArgs e)
{
    PrintDocument pd = new PrintDocument();
    pd.PrintPage += PrintPage;
    pd.Print();       
}
private void PrintPage(object o, PrintPageEventArgs e)
{
    System.Drawing.Image img = System.Drawing.Image.FromFile("D:\Foto.jpg");
    Point loc = new Point(100, 100);
    e.Graphics.DrawImage(img, loc);     
}

相关内容

  • 没有找到相关文章

最新更新