人がページの1つに着地したときに、その場でsvgイメージタグを生成するJavaScriptコードがあります。画像の作成に役立つd3ライブラリを使用しています。唯一の問題は、d3が完全にIEと互換性がなく、svgファイルに基づいて.png、jpg、gif、またはその他の画像ファイルを生成したいということです。これを行うための既知の方法はありますか?サーバー側のコードはPHPベースであり、多くの動的コンテンツにnode.jsとrender.jsを使用しています。
質問する
1094 次
2 に答える
5
ImageMagickを使用してSVG画像をPNG画像に変換しています。これはかなりうまくいきます。
これを行う方法の簡単な例:
exec('/usr/bin/convert /path/to/image.svg /path/to/output_image.png');
私はこれを使用して、libqrencodeで作成されたQRコードをさまざまなサイズと色に処理するのに大成功を収めています。
于 2012-07-05T19:53:04.897 に答える
3
まず、クライアント側でレンダリングされるsvgを取得するため、サーバー側でDOM実装を使用する必要があります。このために、node.jsでjsdomを使用します。これを使用すると、サーバー側でD3をレンダリングし、サーバーでsvgを取得して、任意の形式に変換できます。
これがその方法に関するリンクです。
SVGとPNGを入手したら、modernizer.jsを使用します
1)Modernizrを使用してブラウザの互換性を確認します。
2)次に、互換性に基づいてSVGまたはPNGをロードします。
例(JSソリューション):
if (!Modernizr.svg) {
$("#logo").css("background-image", "url(fallback.png)");
}
例(CSSソリューション):
.no-svg #logo { background-image: url(fallback.png); }
于 2012-12-13T06:11:45.850 に答える