0

Java で canvg https://code.google.com/p/canvg/のネイティブ メソッドを使用して、SVG 文字列をキャンバスから png 画像に変換します。SVG 文字列の画像をレンダリングする時間が必要なため、renderCallback が必要です。そうしないと、間違った構造が得られます。コードは次のとおりです。

private native String PNGExport(String SVGString)/*-{

    var canvas = $doc.createElement('canvas');
    canvas.id = "testcanvas";

    var img;
    $wnd.canvg(canvas, SVGString, {
        renderCallback : function() {
            img = canvas.toDataURL("image/png");
            var window = $wnd.open();
            window.document.write('<img src="' + img + '"/>');
        },
    });
    return img;

}-*/;

したがって、正しい png 画像を含むタブがブラウザーで開かれます。しかし、この String img = canvas.toDataURL("image/png"); を取得する可能性はありますか? コールバックの外で作業していますか? 私が想像できる唯一のことは、img var をパラメーターとして取得する function() 内で Java メソッドを呼び出すことです。より良い解決策があることを願っています。

4

1 に答える 1