分析と広告のためのCookie
分析と広告のためにCookieを使っており、どちらもGoogleに送られます。拒否しても、目に見える動作は何も変わりません。プライバシーポリシーを読む
HEIC を SVG にする変換は、iPhone の写真を平らなベクター図形にトレースします。図面には向き、風景写真には向きません。結果は描いた線の中心を通る線ではなく、その線を囲む輪郭になります。この 1 つの事実が、この道具があなたのやりたいことに合うかどうかを決めます。
一度に100ファイルまで。フォーマットが混ざっていても構いません。
順番に変換し、まとめてZIPでダウンロードします。
HEIC から SVG
トレースは異なる色の領域の境目を見つけ、その境目に沿って閉じた経路を描きます。鉛筆の線には両側に 1 つずつ、合わせて 2 つの境目があるので、出てくるのは線ではなく、線を囲む細長いループです。黒で塗りつぶせば画面上は正確に見え、表示や印刷が目的ならこれで十分な答えです。
ところが機械が経路をたどる瞬間、それは十分な答えではなくなります。ペンプロッターはストロークの片側を描いて反対側を戻ります。ビニールカッターはストロークを 1 つの形として切り抜きます。V ビットを使う CNC ルーターは描いた線ではなく輪郭をたどります。行き先が経路をたどる機械なら、必要なのはセンターライントレースやスケルトン化と呼ばれる、このページの背後にあるものとは別のアルゴリズムです。
アルゴリズムは平らな領域を探していますが、スマートフォンで撮ったホワイトボードには思ったより平らな領域が少ないものです。ボードは窓に近い場所で明るく隅で暗く、マーカーは天井の照明が当たる場所につやが出て、前回の消し残しがうっすらと真ん中に残り、椅子から撮ったので長方形は台形になっています。
そのすべてが形状になります。照明の勾配はわずかに違う白の帯になり、つやはストロークの真ん中の島になり、消し残しは絵に散らばる淡い形になります。これはトレーサーの失敗ではなく、写真に映っているものを忠実に再現しているだけです。トレースする前に写真を直す理由がここにあります。
斜めからではなく真正面から、電話を紙やボードと平行に構えてください。自分の体の影がフレームに入らない、光沢面が反射しない均一な光。図面だけでフレームを埋めてください。紙の上の図面なら、iOS のメモアプリの書類スキャナーが遠近を平らにしてくれます。ただの写真より良い出発点になります。
そして変換前にコントラストを上げてください。写真アプリでコントラストと黒レベルを上げ、明るさを少し下げると、紙は白へ、インクは黒へ寄っていき、放っておけば形状になっていた照明の変化を潰せます。この 2 分の作業のほうが、このページのどの設定よりトレース結果に効きます。
色数の設定はいちばん効く項目で、線画には最も低い 4 が答えです。図面には 2 色しかありません。それ以上に費やされるのは紙の照明や線の柔らかい縁の描写で、色が増えるたびに経路が増え、ファイルが大きくなり、後で片付けるべき小さな図形が増えます。
既定の 8 は平らなイラスト——数色のロゴやアイコン、印刷された図表——向けです。16 と 32 は本物の陰影を持つ絵のためのもので、スケッチにそれを選ぶと、あなたが描いた線への忠実さは増えないまま、ずっと大きな SVG になります。まず 4 を試し、必要なものが消えたときだけ上げてください。
精細さの設定は 2 つのことを制御します。直線や曲線を縁のピクセルの並びにどれだけゆるく当てはめるか、そしてどれだけ小さい形状なら捨てるかです。滑らか設定は 16 ピクセル未満を捨て、標準は 8 未満、鋭いは 2 未満を捨てます。
スマートフォンの写真ではこのしきい値が重要です。カメラの縁は決してきれいではなく、センサーノイズとアンチエイリアシングがすべてのストロークに沿って中間的な色のピクセルの縁取りを残し、それぞれが独自の小さな経路の点になり得るからです。滑らか設定は撮影した図面にたいてい合っていて、その縁取りを捨て、角をわずかに丸めます。鋭い設定はスクリーンショットやスキャンのようなすでにきれいな元データのためのもので、電話の写真に使うと、ノイズまで忠実にトレースしてしまいます。
トレース前のぼかしは点を抑える効果がありますが、どのトレースツールにもたいてい付いています。ここではゼロに固定されています。トレースする唯一の理由である鋭い縁そのものをぼかして和らげてしまい、丸みを帯びて少し溶けたような図面と引き換えに経路数を減らすのは、割に合わない取引だからです。
捨てるしきい値は同じ仕事を、そのコストなしに果たします。一定の大きさより小さい形状を取り除くだけで、それより大きいものすべてをぼかしはしません。トレースが点だらけなら、意図的にないぼかし設定を探すのではなく、精細さを滑らかへ寄せるか、元の写真をきれいにしてください。
入力が何であれ、トレースを始める前に、絵はいちばん長い辺が最大 1,600 ピクセルになるよう縮小されます。1200 万画素の iPhone 写真は 4,032 ピクセル幅なので、およそ 2.5 分の 1 に縮小されます。
これは重要な意味では何も失われません。出力は解像度に依存しません。1,600 ピクセルでトレースした経路と 4,032 ピクセルでトレースした経路は、どの大きさで表示しても同じように見え、変わるのは輪郭が元のピクセル格子にどれだけ密着するかだけです。得られるのは、数十秒ではなく数秒で終わる変換と、メガバイトではなくキロバイト単位の SVG です。トレースの負荷は境目の数で増え、大きな写真はほぼどこにでも境目があるからです。
トレースがうまくいったかどうかのいちばん確実な合図はプレビューではなく算数です。SVG が元のファイル以下か同程度なら、絵には本物の平らな領域があり、トレーサーはそれを見つけました。何倍にもなっているなら、トレーサーは絵と格闘して、テクスチャーを何千もの小さな経路に変えてしまっています。
どちらの数字も変換後に表示されるので、確認に手間はかかりません。知っておく価値のある実測例があります。文字を含むスクリーンショットは PNG の 40 倍のサイズの SVG になりました。アンチエイリアシングされたすべての文字が独自の経路の山になったからです。ホワイトボードの手書き文字も同じように振る舞います。これが見えたら、答えは別の設定ではなく別のアプローチです。
SVG は完成した絵ではなく出発点だと考えてください。Inkscape、Illustrator、Figma で開き、3 つのことを想定してください。トレースされた背景の四角形を削除すること、トレーサーが残した点を選んで消すこと、そして 1 本のストロークが複数に分かれてしまった経路を結合または単純化することです。
間取り図や技術図面には 4 つ目の作業があります。トレースの中には縮尺、直線性、直角の概念が何もありません。平行だったはずの線が平行ではなく、4 メートルだった壁は任意のユーザー単位の数値になります。寸法が重要なら、トレースは測る図面ではなく、上からなぞって描き直すための下敷きです。
すべてページの中で動きます。libheif が HEIC を復号し、キャンバスが縮小し、46 KB の純粋な JavaScript である imagetracerjs がトレースを行います。絵を運ぶ通信は一切なく、ネットワークタブで確認するか、先に端末をネットワークから切り離しても確認できます。
これは抽象的な利点ではありません。人々が写真に撮ってベクター化したいものは、打ち合わせのホワイトボード、製品のスケッチ、現場の図面、パターンです。つまり未公開の作業です。4 つの設定をどれもノートパソコンの外へ出さずに試せることが、この道具を使えるものにするか使えないものにするかの違いです。
| HEIC | SVG | |
|---|---|---|
| 正式名称 | High Efficiency Image Container | Scalable Vector Graphics |
| 拡張子 | .heic | .svg |
| メディアタイプ | image/heic | image/svg+xml |
| 圧縮方式 | 非可逆 — サイズを画質で買う | 無圧縮 |
| 最初の公開 | 2015 | 2001 |
| 発行元 | MPEG | W3C |
| 仕様 | ISO/IEC 23008-12 | SVG 1.1 |
| ライセンス | 公開仕様、標準化はされていない | オープン標準 |
| 現在の位置づけ | 現行 | 現行 |
| ビット深度 | 10 | — |
| 扱える色 | YCbCr, 広色域 | RGB |
| ブラウザで開けるか | 一部のブラウザ | すべてのブラウザ |
| 代わりに検討される形式 | JPG, AVIF, WebP | PNG, PDF |
透明は保たれます。HEIC も SVG もアルファチャンネルを扱えるので、切り抜いた部分は切り抜かれたままで、その後ろに何かが塗られることはありません。
アニメーションは保たれます。HEIC も SVG も複数フレームを持てるので、結果も動いたままです。
SVG は作業のための形式で、HEIC は完成したものを渡すための形式です。戻ってくるのはページの絵ではなく、編集できる文字です。たいていはそれがこの変換の理由であり、同時にこの変換の限界でもあります。
SVG は今のブラウザーならどれでも開けます。HEIC はそこまでも届きません。ファイルがウェブページや申込フォームへ向かうのであれば、たいていはそれがこの変換の理由のすべてです。
開くプログラムが重なりません。HEIC はApple PhotosとAdobe Lightroomで、SVG はInkscape、Adobe Illustrator、Figmaで開きます。結果を渡す相手には後者のどれかが要ります。
結果は元より大きくなり、そして良くはなりません。HEIC はすでに細部を捨てており、SVG は残っているものをそれ以上捨てずに保持します。これは今後の劣化を止めますが、すでに起きた劣化を戻しはしません。
2 つは狙っている用途が違います。HEIC はスマートフォンと写真、SVG はウェブ、ロゴと線画、編集です。ここは考える価値があります。一方が存在する理由が、そのままもう一方が使いにくい理由になっていることが多いからです。
HEIC は MPEG の形式です(2015 年に登場)。 記録は 1 チャンネルあたり 10 ビットです。
SVG は W3C の形式で、2001 年から使われています。規定は SVG 1.1 です。Inkscape、Adobe Illustrator、Figmaがこの形式を読めます。
いいえ。この変換は完全にブラウザーの中で行われるので、ファイルが端末から出ることはありません。ご自分で確かめられます。開発者ツールのネットワークタブを開いて、何か変換してみてください。ページそのものと、このサービスの費用をまかなっている分析・広告のリクエストは見えますが、あなたのファイルを運んでいるリクエストはひとつもありません。
はい。アカウントも透かしもなく、消費される 1 日の割り当てもありません。お使いの機械の上で動くので、何度でも戻ってきていただけます。ブラウザーが扱えるのは 100 MB までのファイルで、一度に 100 本です。
HEIC と SVG は、内容の表し方が根本から違います。ですからこの変換は複製ではなく再構築です。誠実ではありますが、1 バイトも同じというわけではありません。 トレースは、絵を平らな図形として描き直します。どんな大きさに拡大してもぼやけないのはそのためです。似た色の領域どうしの境目を見つけて、その一つひとつを輪郭線で囲っていく仕組みなので、そうした領域が本当に存在するもの——ロゴ、アイコン、平塗りのイラスト、スキャンした線画——でいちばんうまくいきます。写真には平らな領域がないので、トレースはそれを作り出してしまいます。結果はポスター調になり、元より大きくなります。トレース後のファイルはお手元のファイルと比べて計測され、どちらが起きたのかをダウンロード前にページが伝えます。
結果は元より大きくなり、そして良くはなりません。HEIC はすでに細部を捨てており、SVG は残っているものをそれ以上捨てずに保持します。これは今後の劣化を止めますが、すでに起きた劣化を戻しはしません。
透明は保たれます。HEIC も SVG もアルファチャンネルを扱えるので、切り抜いた部分は切り抜かれたままで、その後ろに何かが塗られることはありません。
アニメーションは保たれます。HEIC も SVG も複数フレームを持てるので、結果も動いたままです。
このページがHEICとSVGについて述べていることは検証できます。根拠となる資料は次のとおりです。