
ダッシュボードまたは特定の可視化の画像を生成してそれをエクスポートする場合、以下の 2 つのオプションがあります。
$.ig.RevealView でエクスポート設定を有効にする、あるいは
$.ig.RevealView 以外でコードによるエクスポートを開始
デフォルトで Web 版 の SDK は [画像としてエクスポート] 機能が無効です。この機能を使用する場合は、Nuget パッケージ CefSharp.OffScreen
(>= 63.0.3) をインストールしてください。サーバー側とクライアント側が別々のプロジェクトにある場合は、サーバー側プロジェクトに NuGet をインストールする必要があります。
ユーザーによるダッシュボードまたは特定の可視化画像の生成を可能にするために、ダッシュボードを読み込むときに、RevealSettings.showExportImage を有効にする必要があります。これにより、ダッシュボードが開かれたとき、または特定の可視化が最大化されたときに、オーバーフロー メニューで [エクスポート] ボタンが使用できるようになります。
ユーザーが [エクスポート] ボタンをクリックすると、[画像としてエクスポート] ダイアログが開きます。ユーザーは [クリップボードへコピー] と [画像としてエクスポート] の 2 つのオプションから選択することができます。右下の [画像としてエクスポート] ボタンをクリックすると、RevealView は onImageExported コールバックを呼び出します。
以下は onImageExported コールバックのサンプル実装です。
revealView.onImageExported = function (img) {
var body = window.open("about:blank").document.body;
body.appendChild(img);
}
コードで RevealView の画像を取得するには、ToImage メソッドを呼び出す必要があります。このメソッドを呼び出しても [画像としてエクスポート] ダイアログは表示されません。これにより、ユーザーが RevealView の外側にあるボタンをクリックしたときにスクリーンショットを取得できます。このメソッドは、RevealView コンポーネントが画面に表示されていると同じスクリーンショットを作成します。
ToImage メソッドの呼び出し時にユーザーがダイアログを開いている場合、ダッシュボードと一緒にそのダイアログのスクリーンショットが取得されます。