簡體   English   中英

C# 圖表到 base64 PNG

[英]C# Chart to base64 PNG

在 MVC Web 應用程序中,我需要能夠使用 C# 中的數據創建圖表,並將其轉換為 PNG 的 bas64 表示形式,以傳遞給某些 XSLT 並包含在 PDF 中。

我曾嘗試使用: System.Web.Helpers.Chart - 這有效,但有限,而且質量不高。 我不能讓它看起來完全像我喜歡的那樣。

OxyPlot - 看起來更有希望,但我無法在 Web 應用程序中轉換為 PNG,只能在 WPF 或 Win Forms 中導出。

HighCharts - 如果不使用 PhantomJS 之類的其他東西,則無法呈現為 PNG。

我可以使用圖表庫來實現這一目標嗎?

我用過這個System.Web.UI.DataVisualization.Charting Link

您可以將此System.Web.UI.DataVisualization添加為項目中的參考。 要將圖表轉換為 base64 圖像,您可以使用它。

private string GetChartBase64Image(Chart chart)
{
    using (MemoryStream memStream = new MemoryStream())
    {
        chart.SaveImage(memStream, ChartImageFormat.Png);
        byte[] imageArray = memStream.ToArray();

        return Convert.ToBase64String(imageArray);
    }
}

在上面的例子中,類 Chart 和 ChartImageFormat 在命名空間System.Web.UI.DataVisualization.Charting中定義

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM