問題修改highcharts 匯出圖片 .net c#(二)問題修改

來源:互聯網
上載者:User

本文純屬個人見解,是對前面學習的總結,如有描述不正確的地方還請高手指正~

    由於上一篇的思緒比擬亂,所以新重整理思緒,並上傳了範例。

 將highcharts.js供給了出導的功能應用SVG修複的問題記錄如下,便方其他同學少犯錯誤。

    在應用SVG Render Enginee中要主到遇如下問題: 

    1、在SVG的字串第一行,我擷取到平日會有兩個XMLns;

    2、在LinearGradient中應用SVGDocment調用Draw法方,現出記憶體溢出。

    見: 

    

    3、在Text點節應用text-anchor會現出記憶體溢出的情況。

<text style="font: 11px/normal Trebuchet MS, Verdana, sans-serif; width: 116px; color: rgb(0, 0, 0); cursor: default; font-size-adjust: none; font-stretch: normal; fill: #000;" opacity="1" text-anchor="middle" x="152.7857" y="331">      <tspan x="152.7857">XX高速</tspan>    </text>

    4、在應用Text點節時,出導時文字不顯示。

    

    解決辦法: 

    問題1,應用字串替換,將" <svg xmlns="http://www.w3.org/2000/svg" 替換成“<SVG”;

    問題2,要修改SVG的原始碼,SvgLinearGradientServer.cs 在執行個體化時LinearGradientBrush時,由於Start即是End致使問題,斷判當Start即是End時,End的X和Y分別加1;

    問題3,要修改SVG的原始碼,有其他人引入了enum SvgVisibility,但是還需要在SvgVisualElement.cs的87行,修改如下:

if (this.Path != null && Visible == SvgVisibility.Visible)

    為:

if (this.Path != null && (Visible == SvgVisibility.Visible || Visible == SvgVisibility.Inherit))

    問題4,由於SvgText讀到字型大小fontSize為0,單簡修改SvgText.cs,在208行修改如下:

float fontSize = this.FontSize.ToDeviceValue(this);                    if (fontSize == 0.0f)                    {                        fontSize = 10.0f;                    }                    int stringWidth;

    然後新重上傳Demo和修正後SVG.dll便方直接可調用。

    由於CSDN不能上傳檔案,我上傳到源資上,便方大家下載直接應用。

    意注應用VS2010,地本測試通過。

    連結如下:

    http://download.csdn.net/detail/fly_miss/5279632

    

    開啟網頁的效果如下:

    出導的效果如下:

    

    

    

    

文章結束給大家分享下程式員的一些笑話語錄:

程式員喝酒
  我偶爾採用“木馬策略”、“交叉測試”,時間不長就開始“頻繁分配釋放資源”,“cache”也是免不了的了,
  不過我從不搞“輪巡”,也不會“捕獲異常”,更不會“程式異常”,因為我有理性
克制的。  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.