1

更新された PhantomJS ベースのエクスポート サーバーに関する Highcharts.com Web サイトの最近の投稿を読みました。また、github リポジトリのクローンを作成し、Web サービスを正常にコンパイルしました。ただし、このサーバーによって生成されるすべてのファイルは 96dpi としてマークされており、これは私の目的には不十分です。Highcharts.com Web サイト (ここここ) のやや矛盾した情報によると)、Batik を使用して PNG および JPG 出力をラスタライズしているため、エクスポートされたラスター イメージの DPI 設定を調整できるはずです。ただし、 pom.xml にはバティック参照が含まれておらず、ラスター レンディションの生成に PhantomJS 以外が使用されていることを示すソース コードが見つかりません。PhantomJS エクスポートは DPI を調整できる可能性がありますが、DPI を直接調整しないスケールと幅のオプションしか見つからないため、それに応じて DPI を調整するには、面倒な後処理の再スケーリング (またはメタデータの編集) が必要です。

だから、私の質問の要点: highcharts java exporting-server を使用するときに、エクスポートされた highcharts チャートの DPI を PNG および JPG 形式で調整するにはどうすればよいですか?

4

1 に答える 1

2

前のリリースでは、Batik と PhantomJS の両方が使用されていました。最後のリリースでは、PhantomJS のみが使用されています。これが、pom.xml に Batik 参照が見つからない理由です。

エクスポートされた画像の dpi を制御します。scale パラメータを使用する必要があります。完全を期すために、Highcharts がエクスポートされた画像の dpi を決定する方法を次に示します。

エクスポートされた画像のサイズを制御する

Highcharts 3.0 および Highstock 1.3 以降、エクスポートされる画像のサイズはいくつかのルールに基づいて計算されます。

  1. exporting.sourceWidth および exporting.sourceHeight オプションが設定されている場合は、それらが優先されます。これにより、画面上のチャートとエクスポートされたチャートのサイズを別々にする便利な方法が提供されます。
  2. そうでなく、chart.width および chart.height オプションが設定されている場合、それらはエクスポートされたグラフに使用されます。
  3. サイズがまだ見つからず、含まれる div に明示的なピクセル幅または高さが含まれている場合は、その幅または高さが使用されます。パーセンテージおよびその他の非ピクセル幅は有効になりません。これにより、典型的な 100% 幅のグラフがエクスポート時に不均衡に見えるという、Highcharts 2 でよくある落とし穴を防ぐことができます。
  4. それでもサイズが見つからない場合は、デフォルトで 600 x 400 ピクセルになります。
  5. グラフの幅を上記のサイズでレンダリングし、それに関連するすべてのテキスト サイズをレンダリングした後、実際の画像の解像度は exporting.scale によって決定されます。デフォルトは 2 です。実際には、これは 600x400 のグラフがデフォルトで 1200x800 ピクセルの画像を返すことを意味します。 . この理由は非常に単純です。スケール 1 を使用し、sourceWidth を 1200 に、sourceHeight を 800 に設定しただけでは、すべてのテキストが小さすぎます。拡大しないと、解像度が小さすぎて印刷できません。

エクスポート サーバーの詳細については、こちらもお読みください

于 2013-05-29T19:13:31.883 に答える