PNG画像をSVGに変換する方法
画像をアップロードして結果を確認できるWebサイトがあります。
しかし、あなたがあなたのsvg-imageをダウンロードしたいならば、あなたは登録する必要があります。 (登録すると無料で2枚の画像がもらえます)
potrace
does PNG を入力ファイルとしてサポートしませんが、 _ pnm _ をサポートします。
したがって、最初の convert
はPNGからPNMへ:
convert file.png file.pnm # PNG to PNM
potrace file.pnm -s -o file.svg # PNM to SVG
potrace -s
=>出力ファイルは _ s _ VGですpotrace -o file.svg
=>出力をfile.svg
に書き込むconvert 2017.png 2017.pnm
一時ファイル= 2017.pnm
potrace 2017.pnm -s -o 2017.svg
ykarikos はスクリプトを提案する png2svg.sh 私は改良した:
#!/bin/bash
File_png="${1?:Usage: $0 file.png}"
if [[ ! -s "$File_png" ]]; then
echo >&2 "The first argument ($File_png)"
echo >&2 "must be a file having a size greater than zero"
( set -x ; ls -s "$File_png" )
exit 1
fi
File="${File_png%.*}"
convert "$File_png" "$File.pnm" # PNG to PNM
potrace "$File.pnm" -s -o "$File.svg" # PNM to SVG
rm "$File.pnm" # Remove PNM
多数のファイルを変換したい場合は、次の1行のコマンドも使用できます。
( set -x ; for f_png in *.png ; do f="${f_png%.png}" ; convert "$f_png" "$f.pnm" && potrace "$f.pnm" -s -o "$f.svg" ; done )
Wikipediaの/ - ラスターとベクトルコンバーターのこの優れた比較 を参照してください。
Pngはビットマップ画像スタイルで、SVGはビットマップをサポートするベクターベースのグラフィックデザインであるため、画像をベクターに変換するようなものではなく、ベクターベースのフォーマットに埋め込まれた画像です。これは http://www.inkscape.org/ を使って実行できます。これは無料です。それはそれを埋め込むでしょう、しかしそれはあなたが望むなら(potraceを使って)パスに変換しようとするLive Traceのようなエンジンも持っています。アドビイラストレーター(市販)のライブトレースを参照してください。
http://graphicssoft.about.com/od/illustrator/ss/sflivetrace.htm
potrace を見た方がいいかもしれません。
簡単
お分かりのように、他にも賢い.svgファイルをたくさん作成したい場合は、Inkscapeを使用しても実行できます。
技術的ではない見解:私は個人的には「無料の」ウェブサイト提供よりもこの方法を好む。なぜなら、多くの場合登録を必要とするのは別として、実際にはウェブサイトの所有者に画像をアップロードすることである。
アドビイラストレーター付き:
Adobe Illustratorを開きます。 [ファイル]をクリックして[開く]を選択し、プログラムに.PNGファイルを読み込みます。必要に応じて画像を編集してから、.SVGファイルとして保存します。 [ファイル]をクリックして[名前を付けて保存]を選択します。新しいファイル名を作成するか、既存の名前を使用してください。選択したファイルの種類がSVGであることを確認してください。ディレクトリを選択して[保存]をクリックしてファイルを保存します。
または
オンラインコンバータ http://image.online-convert.com/convert-to-svg
あなたは必要な変更を加えることができるので私はAIを好む
がんばろう
私の驚いたことに、potraceそれは結局のところ、白黒を処理することができます。それはあなたのユースケースには大丈夫かもしれませんが、カラートレーシングの欠如が問題になると考えるかもしれません。
個人的には、 Vector Magic で満足のいく結果が得られました。
それでも完璧ではありません。
potrace および imagemagick を使用している人、 _ png _ を透明にした画像を _ ppm _ に変換する人へのメモはあまりうまくいきません。これを処理するためにconvert
の-flatten
フラグを使用する例は、以下のとおりです。
Sudo apt-get install potrace imagemagick
convert -flatten input.png output.ppm
potrace -s output.ppm -o output.svg
rm output.ppm
もう1つの興味深い現象は、 _ ppm _ (256 * 3色、つまりRGB)、 _ pgm _ (256色、つまりグレースケール)、または _ pbm _ (入力フォーマットとして2色、すなわち白または黒のみ)。私の限られた所見から、アンチエイリアス処理された画像では、 _ ppm _ および _ pgm _ (これまで見た限りでは同じ SVG を生成します)色付き領域と _ pbm _ は色付き領域を拡張します(少しだけですが)。おそらくこれがpixel > (256 / 2)
テストとpixel > 0
テストの違いです。ファイル拡張子を変更することで3つを切り替えることができます。次のように _ pbm _ を使用します。
Sudo apt-get install potrace imagemagick
convert -flatten input.png output.pbm
potrace -s output.pbm -o output.svg
rm output.pbm
http://image.online-convert.com/convert-to-svg を試すこともできます。
私は私のニーズにそれをいつも使っています。
私はちょうど同じことをやろうとしているので、私はちょうどこの質問と答えを見つけました!私は言及された他のツールのいくつかを使いたくありませんでした。 (私のEメールをあきらめたくない、そして支払いたくない)。私は、Inkscape(v0.91)がかなり良い仕事をすることができることを知りました。この チュートリアル は早くて理解しやすいです。
Inkskapeでビットマップを選択するのと同じくらい簡単で、 Shift + Alt + B。
なぜ によっては.pngから.svgに変換したいのであれば、問題ないかもしれません。 .png(ラスター)から.svg(ベクトル)への変換は、利用可能なツールにあまり精通していない場合、または業界でグラフィックデザイナーではない場合、面倒な作業になることがあります。
誰かがあなたに大きくて高解像度のファイル(例えば1024x1024)を送るならば、あなたはGIMPであなたが望むほとんどどんなサイズにでもそれをサイズ変更することができます。解像度(1インチあたりのピクセル数)が低すぎると、画像のサイズ変更に問題が生じることがよくあります。 GIMPでこれを修正するには、次の方法があります。
File -> Open
:あなたの.pngファイルImage -> Image Properties
:解像度と色空間を確認してください。 300 ppi程度の解像度が必要です。ほとんどの場合、色空間はRGBにします。Image -> Mode
:RGBに設定Image -> Scale Image
:サイズをそのままにして、Y解像度を300以上に設定します。スケールを打ちます。Image -> Scale Image
:解像度は300になっているはずです、そしてあなたは今あなたが望むほとんどどんなサイズにでも画像をリサイズすることができます。.svgファイルのサイズ変更ほど簡単ではありませんが、サイズの大きい高解像度の画像が既にある場合は、.pngファイルを.svgファイルに変換するよりもはるかに簡単で速くなります。
私はあなたがこれを行うためのソフトウェアを書きたいと思っていると思います。単純にそれを行うには、単に線を見つけてベクトルを設定するだけです。それを賢く行うには、図形を図面に合わせるようにします(モデルフィッティング)。さらに、ビットマップ化された領域(恥やテクスチャを適用してモデル化できない領域)の確認を試みる必要があります。かなり時間がかかり、グラフィックとコンピュータビジョンの知識が必要なので、このルートをたどることはお勧めできません。ただし、出力は元の出力よりはるかに大きくなり、スケールも大幅に改善されます。
http://online-converting.com/image/convert-to-svg/ svgに変換するのにうまくいった
このツールは現在非常にうまく機能しています。