我正在尋找一種方法來從控制檯應用程序(或NT服務)內生成圖形並將其導出到位圖。 這是一個後端進程,因此圖形從不顯示。只是保存到文件。 需要完全線程安全,因爲我的控制檯將多次並行執行此操作。C#控制檯應用程序將圖形生成爲位圖
第三方組件是好的,但免費是更好:d
感謝
我正在尋找一種方法來從控制檯應用程序(或NT服務)內生成圖形並將其導出到位圖。 這是一個後端進程,因此圖形從不顯示。只是保存到文件。 需要完全線程安全,因爲我的控制檯將多次並行執行此操作。C#控制檯應用程序將圖形生成爲位圖
第三方組件是好的,但免費是更好:d
感謝
MS圖表組件 - 免費:
使用Excel互操作程序集。非常適合圖表,並且非常易於使用。您還可以對圖表進行大量的自定義和修改。
簡明教程:
http://www.dotnetperls.com/excel-chart
這是您可能需要的組件文件。
http://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel(v=office.11).aspx
一般來說,我們喜歡你試一下,並問這樣的問題,當你遇到麻煩。
也就是說,假設你想自己繪製圖表(即不使用預先製作的圖表來),我得看看Bitmap class和圖形類,特別是Graphics.FromImage。位圖是圖像在內存中的表示,Graphics類爲您提供了繪製它的方法。
如果您對GDI +很熟悉,您可以在內存位圖上繪製任何想要的內容並將其保存到文件中。只要你沒有引用同一個文件或在多個線程中傳遞相同的源數據引用,你應該沒問題。下面是如何在程序上生成位圖,你可以在一個控制檯應用程序包,Windows服務,網絡服務等:
Image bmp = new Bitmap(intWidth, intHeight);
Graphics g = Graphics.FromImage(bmp);
Rectangle r = new Rectangle(0, 0, intWidth, intHeight);
g.DrawEllipse(Pens.Red, g.VisibleClipBounds);
bmp.Save(strFileNameWithPath);
至於生成圖形而言,這將在很大程度上取決於一個簡短的例子你的數學技能有多好,你的源數據結構如何,以及你想要製作什麼類型的圖表。那裏肯定有圖書館已經這樣做了(Telerik想到了),但我是一個「自己推出」的編碼器。 :)