0

ここでは、javascript を使用してボタン クリックでフュージョン チャートを画像としてキャプチャしようとしています。
ここに私のJavaScriptコードがあります:

var initiateExport = false;

        function exportCharts() {
            var exportFormat = 'JPG';
            initiateExport = true;
            for (var chartRef in FusionCharts.items) {
                if (FusionCharts.items[chartRef].exportChart) {
                    document.getElementById("linkToExportedFile").innerHTML = "Exporting...";
                    FusionCharts.items[chartRef].exportChart({ "exportFormat": exportFormat });

                }
                else {

                    document.getElementById("linkToExportedFile").innerHTML = "Please wait till the chart completes rendering...";
                }
            }
        }

        function FC_Exported(statusObj) {
            if (initiateExport) {
                initiateExport = false;
                document.getElementById("linkToExportedFile").innerHTML = "";
            }

            if (statusObj.statusCode == "1") {

                document.getElementById("linkToExportedFile").innerHTML += "Export successful. View it from <a target='_blank' href='" + statusObj.fileName + "'>here</a>.<br/>";
            }
            else {
                document.getElementById("linkToExportedFile").innerHTML += "Export unsuccessful. Notice from export handler : " + statusObj.notice + "<br/>";

            }
        }

これに関する問題は、画像キャプチャの前にプログレスバーに「データのキャプチャ」が表示されることです.ボタンを直接クリックして画像が生成されるように、それをバイパスしたい(完了を待っている別のコードがあるため). javascript 誰かがc#を使用した方法を提案できますか?

4

1 に答える 1

0

基本的に、これらのフラッシュチャートは、チャートのフラッシュ表示からの画像データのキャプチャを完了するのに時間がかかります。インスタンスでは実行できません。

そのため、画像データのキャプチャの進行状況を示すプログレスバーが表示されます。

showExportDialog="0"グラフのXMLで進行状況バーの設定を非表示にすることができます。ただし、内部の進捗は継続します。

画像のキャプチャが完了すると、サーバー側のエクスポートを使用している場合、Flashはデータをサーバー側のスクリプト(エクスポートハンドラー)にPOSTします。

クライアント側のエクスポート機能を使用している場合、FlashチャートはFC_ExportDataReadyという名前のイベントを発生させます。ウィンドウ/グローバルスコープで同じ名前の関数を定義するこのイベントをリッスンできます。このイベントは、画像データ(ストリーム)をJavaScriptオブジェクトとして提供します。ストリームオブジェクトには、画像のメタデータを含むRLE形式の画像データが含まれています。

したがって、ボタンクリックを使用してチャートのイメージスナップを即座に生成することはできません。少し時間がかかります。

これが、FC_Exported calbackイベントが提供されている理由です。これにより、このイベントをリッスンし、完了の確認を取得して、独自のコードを続行できます。

于 2012-06-29T14:05:09.153 に答える