PNG画像をSVGに変換する方法
PNG画像をSVGに変換する方法
回答:
画像をアップロードして結果を確認できるWebサイトがあります。
ただし、svg-imageをダウンロードする場合は、登録する必要があります。(登録すると、2つの画像を無料で入手できます)
potrace
入力ファイルとして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 で、ラスターとベクターのコンバーターの優れた比較もご覧ください。
potrace
白黒のアイコンに使用しています。ご意見をいただきありがとうございます。しかし、申し訳ありませんが、色を保持する方法はわかりません... Ho!アイデアがあります。元の画像の色が少ない場合(たとえば、3つの異なる色)、3つの初期画像(各色に1つ)を作成できます。次にSVGに変換します。最後に、3つのSVGコンテンツを1つのファイルにマージします(SVGはXMLベースです)。これがお役に立てば
convert
とpotrace
は、多くのプラットフォームで使用できます。Linuxベースのコンピューターを使用しています。私は昨日これらのコマンドを使用して、スキャンした紙からSVGを生成しました。結果を確認できます。cpp-frug.github.io / images / Cpp-President-2017.svgターゲットについて詳しく説明してください。何が欲しい/不思議ですか?あなたのニーズ/希望は何ですか?乾杯;-)
pngはビットマップ画像スタイルであり、SVGはビットマップをサポートするベクターベースのグラフィックデザインであるため、画像をベクターに変換するのではなく、ベクターベースのフォーマットに埋め込まれた画像のみです。これは無料のhttp://www.inkscape.org/を使用して行うことができます。埋め込みますが、必要に応じて(potraceを使用して)パスに変換しようとするLive Traceのようなエンジンも備えています。Adobe illustratorのライブトレースを参照してください(商用)はその例です。
http://graphicssoft.about.com/od/illustrator/ss/sflivetrace.htm
かんたん
ご覧のように、他の多くの賢い.svgを実行したい場合は、Inkscapeを使用して実行することもできます。
非技術的な観察:私は個人的に、この方法を「無料」のウェブサイト提供よりも好んでいます。なぜなら、登録を頻繁に要求することの他に、画像をアップロードすることによって、すべての実用的な用語で、ウェブサイトの所有者に画像を提供しているからです。
アドビイラストレーターと:
Adobe Illustratorを開きます。[ファイル]をクリックして[開く]を選択し、.PNGファイルをプログラムにロードします。必要に応じて画像を編集してから、.SVGファイルとして保存します。「ファイル」をクリックし、「名前を付けて保存」を選択します。新しいファイル名を作成するか、既存の名前を使用します。選択したファイルの種類がSVGであることを確認してください。ディレクトリを選択し、[保存]をクリックしてファイルを保存します。
または
オンラインコンバーター http://image.online-convert.com/convert-to-svg
必要な変更を加えることができるため、私はAIを好みます
幸運を
potraceとimagemagickを使用している人への注意事項、透明度のあるPNG画像をPPMに変換することは、あまりうまく機能していないようです。これを処理するために-flatten
フラグを使用する例を次に示しますconvert
。
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をます
私はいつもそれを自分のニーズに使用しています。
.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への変換にうまく機能しました
potrace
れ、コマンドラインと同じ問題が発生します
このツールは現在非常によく機能しています。
Linuxシステムを使用している場合は、imagemagickが最適です。すなわち
convert somefile.png somefile.svg
これは、さまざまな形式のヒープで機能します。
ビデオやオーディオ(ffmpeg)などの他のメディアについて は、pngからsvgへの明確な記述を知っています。それはまだメディア関連です。
ffmpeg -i somefile.mp3 somefile.ogg
たくさんのファイルを通過したい場合のヒントです。基本的なシェルトリックを使用したループ。
for f in *.jpg; do convert $f ${f%jpg}png; done
これはjpgを削除し、必要な変換を指示するpngを追加します。