2012-01-26 7 views
1

をペースト/コピーのために、通常のPNGにBase64の変換:変換 私は次のように場しのぎのプロセスを使用してのHTMLメールテンプレートを持っている

  • をグラフのMySQLから

    1. プルデータをとHighChartsに入れてHighCharts SVGは、Base64 PNGはcanvas.toDataURL

    を使用してすべてがうまくと良いですが、画像は(Internet Explorerのいくつかのquirkinessを除く)の罰金をアップ示しているが、ここだとキャンバスをレンダリングcanvg

  • を使用してキャンバスにrub:

    私は、ユーザーがウェブページ全体をコピーしてOutlookに貼り付け、電子メールで送信できるようにしたいと考えています。しかし、Outlook(と私が試した他のいくつかのクライアント)は、コピー貼り付けでBase64 PNGを受け取ることができません。イメージがあるはずの空白があります。

    Base64をコピー/ペーストに耐えられるように通常のPNGに変換する方法を知っている人はいますか?おそらくこれはPNGをサーバーに保存する必要がありますか?

  • 答えて

    1

    私はあなたの最後の質問以来、このことについて考えてきたと私は3つのオプションを作ってみた:あなたが持っているものと

    一つ

    1. スティック。
    2. toDataURLからbase64文字列を取り出し、AJAX経由でサーバーに返します。バックエンドでPNGに変換し、サーバーに格納してPNGをページに戻します。

    3. は、ユーザーのブラウザ上でhighcharts SVGをレンダリングします。
    4. AJAX呼び出しを使用して、SVG文字列をバックエンドサーバーに送信します。
    5. バックエンドで、ハイチャートのエクスポートサーバーへの投稿要求(something like described here see Using PHP for POST Request)をhttp://export.highcharts.com/に生成します。

      ファイル名::PNGファイル名
      タイプ:は、plotoptions、タイプ、ライン、バーなどから...
      幅:幅要求は以下の投稿の変数が含まれている必要がhighcharts sourceを見てから、希望PNG
      SVGのピクセル単位:SVG列

    6. 正常にそれを提供する、サーバーに保存し、結果としてPNGを取得します。 Java Highcharts APIを使用する

    スイッチ。これはあなたのサーバー上で実行する必要があります。しかし、いったんやったら、バックエンドであなたのチャートを完全に生成し、PNGファイルを提供するだけです。

    関連する問題