SVGをPNGに変換
ベクター画像を、必要なサイズぴったりにラスタライズ。100pxでも4000pxでも常にくっきり、透過もそのまま、ファイルは保存されません。
- 保存しません
- 順番待ちなし
- 登録不要・透かしなし
使い方
SVGを追加
.svgファイルをいくつでもページにドロップします。
出力サイズを選択
必要な幅を設定します。ベクターはどんなサイズでもくっきりレンダリングされます。それがベクターの利点です。
ダウンロード
1つずつ、またはZIPで保存できます。
決まっていなかった解像度を決める
SVGにはピクセルもサイズもありません。このパス、あの塗り、この曲線といった描画命令の集まりです。だからこそどれだけ拡大してもくっきりしており、ロゴはできるだけ長くSVGのままにしておくべきなのです。ラスタライズすると、1つのサイズに永久に固定されます。そのため、画像が表示される最も大きな場所に合わせてサイズを選んでください。 また、2倍や3倍の密度の画面では2倍や3倍のピクセルが必要になることも忘れないでください。64ポイントで表示するアイコンを最新のスマートフォンできれいに見せるには、192ピクセルが必要です。
最も問題が起きやすいのは文字で、その理由は理解しておく価値があります。SVGは「この文字列をHelvetica Neueで組む」と指示します。レンダリングする環境にHelvetica Neueがなければ別のフォントで代用され、レイアウトがずれます。枠に収まっていたタイトルがはみ出してしまうのです。URLで参照されたWebフォントは、ここではまったく読み込まれません。画像としてレンダリングされるSVGは意図的に隔離されており、ネットワークにアクセスできないからです。解決策は、どのデザイナーもいずれ学ぶものです。書き出す前に文字をアウトライン化してください。 そうすれば文字の形がパスになり、フォントがまったく不要になります。
同じ隔離の仕組みで、ほかの意外な挙動も説明できます。リンクされたビットマップ、つまりどこかの.pngを指すimage要素は、何も表示されません。スクリプトは実行されないため、JavaScriptで自分自身を描くSVGは、空になるか途中までしか描かれません。宣言的なアニメーションは初期状態、つまり最初のフレームの静止画としてレンダリングされます。ファイル内で完結しているものはすべて完璧に動作します。グラデーション、フィルター、クリッピングパス、マスク、埋め込まれたデータURI画像、ぼかし効果は、すべて描かれたとおりにレンダリングされます。
この変換先としてはPNGが正解で、JPEGは適していません。ベクターのアートワークは単色の塗りとシャープな輪郭でできており、それはまさにPNGがうまく圧縮でき、JPEGが台無しにするものです。JPEGではシャープな輪郭すべてにフチのようなノイズが出ます。透過は本物のアルファチャンネルとして引き継がれるので、適切なサイズで書き出したロゴはどんな背景にもなじみます。SVGがサイズを一切指定せずviewBoxだけを持つ場合は、縦横比はそこから決まり、サイズは自由に選べます。
ほかの目的には
resvgやrsvg-convertは、本物のフォント環境を使ってコマンドラインでSVGをレンダリングするので、文字は代用フォントではなく意図した書体で表示されます。rsvg-convert -w 512 in.svg -o out.png だけで済みます。Inkscape --export-type=png --export-dpi=300 は仕様を最も完全に実装したもので、軽量なレンダラーでは近似になってしまうフィルターや描画モードも扱えます。
そもそもラスタライズする前に、本当にPNGが必要なのかを確認してください。どのブラウザも10年以上前からSVGをネイティブに表示しており、Webサイトのロゴやアイコンなら、SVGのほうが小さく、無限にくっきりしていて、CSSでスタイルを変えることもできます。本当にピクセルが必要な場面は、思われているより限られています。ファビコン、SNSのプレビュー画像、メール、アプリストア用の素材、そしてベクターを読み込めないソフトです。
よくある質問
どのサイズでレンダリングすればよいですか?
実際に表示するサイズの2倍にしてください(高DPI画面向け)。200pxのロゴ枠なら400pxのPNGです。写真の拡大とは違い、大きくレンダリングしても画質は落ちません。ベクターだからです。
透過は保たれますか?
はい。SVGの背景は、ファイルが背景を描いていない限り透明で、PNGでもそのまま保たれます。
デザインツールと表示が違うのはなぜですか?
レンダリングは、Webサイト上でロゴを表示するときと同じものです。名前で指定されたフォントは、お使いの環境にあるフォントでレンダリングされます。
SVG内の外部画像は読み込まれますか?
埋め込まれた画像(データURI)はレンダリングされます。外部URLへの参照は取得しません。変換処理が外部にアクセスすることはありません。
ファイルはどこかに保存されますか?
いいえ。どの段階でも何も保存されません。
ご注意: 外部の画像やWebフォントに依存するSVGは、それらなしでレンダリングされます。スクリプトによるSVGアニメーションは初期状態でレンダリングされます。
このツールをあなたのサイトに設置
ブログ、授業のページ、ヘルプ記事などに無料で設置できます。コードを1つ貼り付けるだけで、訪問者がそのページ上でツールを使えるようになります。