91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何讓Silverlight支持圖表轉圖片

發布時間:2021-12-01 16:19:00 來源:億速云 閱讀:277 作者:小新 欄目:編程語言

這篇文章主要介紹如何讓Silverlight支持圖表轉圖片,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

如何讓Silverlight支持圖表轉圖片

所以實現圖表轉圖片可以分一下幾步走.

一.寫一份WPF客戶端程序

思路很簡單

1.1定義一個定時器,然后檢測某目錄的xml文件,這里暫定目錄名字為chart

timer = new DispatcherTimer();  timer.Interval = new TimeSpan(0, 0, 2);  timer.Tick += new EventHandler(timer_Tick);  timer.Start();  void timer_Tick(object sender, EventArgs e)  {  string[] files = System.IO.Directory.GetFiles(AppDomain.CurrentDomain.BaseDirectory + "chart");  if (files.Length > 0)  {  }  }

1.2如果有的話,則進行反序列化成Chart對象進行呈現

void timer_Tick(object sender, EventArgs e)  {  string[] files = System.IO.Directory.GetFiles(AppDomain.CurrentDomain.BaseDirectory + "chart");  if (files.Length > 0)  {  LoadXml(files[0]);  }  }  private void LoadXml(string xmlFile)  {  XmlDocument doc = new XmlDocument();  doc.Load(xmlFile);  StringReader stringReader = new StringReader(doc.InnerXml);  XmlReader xmlReader = XmlReader.Create(stringReader);  Chart chart = XamlReader.Load(xmlReader) as Chart;  chart.AnimationEnabled = false;  stringReader.Close();  xmlReader.Close();  this.Content=chart;  }

1.3呈現好以后進行截圖

void timer_Tick(object sender, EventArgs e)  {  string[] files = System.IO.Directory.GetFiles(AppDomain.CurrentDomain.BaseDirectory + "chart");  if (files.Length > 0)  {  LoadXml(files[0]);  PrintPicture(files[0]);  }  }  private void PrintPicture(string fileName)  {  this.Dispatcher.BeginInvoke(new Action(() => {  int Height = (int)this.ActualHeight;  int Width = (int)this.ActualWidth;  RenderTargetBitmap bmp = new RenderTargetBitmap(Width, Height, 96, 96, PixelFormats.Pbgra32);  bmp.Render(this);  string file = "C:\\temp\\a.jpg";  BitmapEncoder encoder;  encoder = new JpegBitmapEncoder();  encoder.Frames.Add(BitmapFrame.Create(bmp));  using (Stream stm = File.Create(file))  {  encoder.Save(stm);  }  File.Delete(fileName);  }), System.Windows.Threading.DispatcherPriority.Render);  }

1.4轉換成圖片完畢則刪除此xml文件

二.將編譯好的wpf程序放置在web根目錄,然后啟動此程序

三.使用ajax交互將當前顯示出來的xml傳送到chart目錄下

前端

$.ajax({  type: "POST",  url: "ajaxServer.aspx",  data: "name=" + vChart.dataUri,  success: function(msg) {  alert("Success");  }  });

后端

拷貝xml文件或者其他處理方式把xml弄到chart目錄下

protected void Page_Load(object sender, EventArgs e)  {  File.Copy(Server.MapPath(this.Request["name"]), Server.MapPath("../chart/" + this.Request["name"]));  }

注意點:轉換的時候注意wpf和silverlight的命名空間.也算是一個方法,對付圖表生成圖片是綽綽有余的.

以上是“如何讓Silverlight支持圖表轉圖片”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

海城市| 西贡区| 鹤壁市| 鹤山市| 贵溪市| 伊通| 十堰市| 柳林县| 班玛县| 罗江县| 清涧县| 昌乐县| 临桂县| 台州市| 雷山县| 滨州市| 乌鲁木齐市| 铁力市| 天峨县| 南部县| 泗水县| 枝江市| 墨竹工卡县| 平潭县| 沂源县| 杭锦后旗| 泸水县| 定襄县| 抚松县| 水富县| 察雅县| 合阳县| 于都县| 阿坝| 噶尔县| 黄陵县| 潢川县| 普宁市| 潮安县| 周至县| 壶关县|