前段时间做一个项目,最后做数据的图形化显示,用了Microsoft的MSChart控件,查看了一些相关资料后,对该控件有了一定的了解,还是不错的.最后要将显示的图片保存到客户机上,可惜MSChart却没有相关的方法,头大了,但是事情还是要做的,那就自己写了.MSChart有个EditCopy()方法,这个方法是将显示的图像保存到系统的剪切板上,那就从这里入手(可喜的是C#对图像的操作功能很强,其实下面的代码只用了其九牛一毛,嘿嘿)!

保存系统剪切板的图像到本地计算机#region 保存系统剪切板的图像到本地计算机

/**//// <summary>
/// 保存系统剪切板的图像到本地计算机
/// </summary>
/// <returns></returns>
public static bool SaveClipboardBMPToFile()

{
try

{
IDataObject iData = System.Windows.Forms.Clipboard.GetDataObject();
if(iData == null)
return false;
System.Drawing.Image im = (System.Drawing.Image)iData.GetData(DataFormats.Bitmap);
if(im == null)
return false;
System.Windows.Forms.SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "BMP文件|*.bmp|JPEG文件|*.jpg";
if(sfd.ShowDialog() == DialogResult.OK)

{
if(sfd.FilterIndex == 1)
im.Save(sfd.FileName,System.Drawing.Imaging.ImageFormat.Bmp);
else
im.Save(sfd.FileName,System.Drawing.Imaging.ImageFormat.Jpeg);

}
return true;
}
catch

{
return false;
}
}
#endregion
这样就实现了将MSChart图像保存到客户端的问题了,记得,在调用该方法前要先调用MSChart的EditCopy()方法!
posted on
2006-06-28 15:16
冷月孤峰
阅读(
1002)
评论()
收藏
举报