2016-12-09 11 views
0

私は問題があり、別の解決方法を試しましたが、成功しませんでした。 私はamChartXYチャートを持っています。白いラベルと凡例のテキストは白ですが、カスタムpdfレポートを作成したい場合、その白いテキストを黒に変換できません。 最初にグラフをbase64文字列にエクスポートする関数があります。テキストの色を黒に変換したいのですが、機能しません。 グローバルな配列オブジェクトに保存されているSVGに変換する、メニュー項目のコードスニペットです。輸出時にAmChart輸出変更フォントの色

menu: [ 
      { 
       class: "", 
       label: "Save to draft", 
       click: function() { 
        var overrideObject = { 
         backgroundColor : "rgba(255,255,255,1)", 
         color : "#000", 
         legend : { 
          color : "#000" 
         } 
        }; 
        var chartObject = this; 
         chartObject.capture(overrideObject, function() { 
          chartObject.toJPG({}, function (base64) { 
          // charts is global array 
            charts.push({ 
             name: customName, 
             chart: base64 
            }); 
          }); 
         }); 
       } 
      }, 

ここoverrideObjectは白とのbackgroundColor属性を変更している(前で透明であった)が、それはフォントの色を変更していません。また、私は追加する別の属性を試してみましたが、何も動作していないようです。 これはキャプチャ時に可能ですか?ここで

は私が達成したいものの一部の画像のプレビューです: Image with transparent background Image with white background AmChart輸出のためにその十分に文書ではありませんので、任意のフィードバックは歓迎されるであろう

答えて

2

overrideObjectあなただけの受け入れを渡しています同じパラメーターはin the list of export settingsと記載されています。チャート上の特定の要素の外観を変更する必要がある場合は、the annotation settings sectionに記載されているreviverコールバックを使用して、変更内容を選択的に適用する必要があります。例えば、ここでは値の軸ラベルをターゲットにする方法は次のとおりです。あなたはSVGを使用すると、テキスト要素の色を変更するには塗りつぶしを設定する必要がありますので、外観を変更するために属性を使用する必要が

"export": { 
    "enabled": true, 
    "reviver": function(nodeObj) { 
     if (nodeObj.className === 'amcharts-axis-label' && nodeObj.svg.parentNode.classList.contains('amcharts-value-axis')) { 
     nodeObj.fill = 'rgba(255,0,0,1)'; 
     } 
    }, 
    // ... 
    } 

注意。

Codepen demo

+0

は、後でそれをしようとします、いいですね:)のthnx男それが動作 –

+0

、おかげでたくさん(私はそれを読んでいたときに、このためのマニュアルのような小さな部分は、私もそれを見ていませんでした) –