web-dev-qa-db-ja.com

PNG画像をSVGに変換する方法

PNG画像をSVGに変換する方法

266
user199337

画像をアップロードして結果を確認できるWebサイトがあります。

http://vectormagic.com/home

しかし、あなたがあなたのsvg-imageをダウンロードしたいならば、あなたは登録する必要があります。 (登録すると無料で2枚の画像がもらえます)

130
FrankkieNL

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に書き込む

入力ファイル= 2017.pngInput file

convert 2017.png 2017.pnm

一時ファイル= 2017.pnm

potrace 2017.pnm -s -o 2017.svg

出力ファイル= 2017.svgOutput file

スクリプト

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の/ - ラスターとベクトルコンバーターのこの優れた比較 を参照してください。

122
olibre

Pngはビットマップ画像スタイルで、SVGはビットマップをサポートするベクターベースのグラフィックデザインであるため、画像をベクターに変換するようなものではなく、ベクターベースのフォーマットに埋め込まれた画像です。これは http://www.inkscape.org/ を使って実行できます。これは無料です。それはそれを埋め込むでしょう、しかしそれはあなたが望むなら(potraceを使って)パスに変換しようとするLive Traceのようなエンジンも持っています。アドビイラストレーター(市販)のライブトレースを参照してください。

http://graphicssoft.about.com/od/illustrator/ss/sflivetrace.htm

59
Keith Adler

potrace を見た方がいいかもしれません。

簡単

  1. ダウンロード Inkscape (完全に無料です)
  2. この短い youtube video の指示に従ってください

お分かりのように、他にも賢い.svgファイルをたくさん作成したい場合は、Inkscapeを使用しても実行できます。

技術的ではない見解:私は個人的には「無料の」ウェブサイト提供よりもこの方法を好む。なぜなら、多くの場合登録を必要とするのは別として、実際にはウェブサイトの所有者に画像をアップロードすることである。

18
Pancho

アドビイラストレーター付き:

Adobe Illustratorを開きます。 [ファイル]をクリックして[開く]を選択し、プログラムに.PNGファイルを読み込みます。必要に応じて画像を編集してから、.SVGファイルとして保存します。 [ファイル]をクリックして[名前を付けて保存]を選択します。新しいファイル名を作成するか、既存の名前を使用してください。選択したファイルの種類がSVGであることを確認してください。ディレクトリを選択して[保存]をクリックしてファイルを保存します。

または

オンラインコンバータ http://image.online-convert.com/convert-to-svg

あなたは必要な変更を加えることができるので私はAIを好む

がんばろう

15
JayD

私の驚いたことに、potraceそれは結局のところ、白黒を処理することができます。それはあなたのユースケースには大丈夫かもしれませんが、カラートレーシングの欠如が問題になると考えるかもしれません。

個人的には、 Vector Magic で満足のいく結果が得られました。

それでも完璧ではありません。

10
cavalcade

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
9
Bardi Harborow

http://image.online-convert.com/convert-to-svg を試すこともできます。

私は私のニーズにそれをいつも使っています。

7
thednp

私はちょうど同じことをやろうとしているので、私はちょうどこの質問と答えを見つけました!私は言及された他のツールのいくつかを使いたくありませんでした。 (私のEメールをあきらめたくない、そして支払いたくない)。私は、Inkscape(v0.91)がかなり良い仕事をすることができることを知りました。この チュートリアル は早くて理解しやすいです。

Inkskapeでビットマップを選択するのと同じくらい簡単で、 Shift + Alt + B。

Edge Detection with Inksape Trace bitmap tool based on potrace

7
Dai Bok

なぜ によっては.pngから.svgに変換したいのであれば、問題ないかもしれません。 .png(ラスター)から.svg(ベクトル)への変換は、利用可能なツールにあまり精通していない場合、または業界でグラフィックデザイナーではない場合、面倒な作業になることがあります。

誰かがあなたに大きくて高解像度のファイル(例えば1024x1024)を送るならば、あなたはGIMPであなたが望むほとんどどんなサイズにでもそれをサイズ変更することができます。解像度(1インチあたりのピクセル数)が低すぎると、画像のサイズ変更に問題が生じることがよくあります。 GIMPでこれを修正するには、次の方法があります。

  1. File -> Open:あなたの.pngファイル
  2. Image -> Image Properties:解像度と色空間を確認してください。 300 ppi程度の解像度が必要です。ほとんどの場合、色空間はRGBにします。
  3. Image -> Mode:RGBに設定
  4. Image -> Scale Image:サイズをそのままにして、Y解像度を300以上に設定します。スケールを打ちます。
  5. Image -> Scale Image:解像度は300になっているはずです、そしてあなたは今あなたが望むほとんどどんなサイズにでも画像をリサイズすることができます。

.svgファイルのサイズ変更ほど簡単ではありませんが、サイズの大きい高解像度の画像が既にある場合は、.pngファイルを.svgファイルに変換するよりもはるかに簡単で速くなります。

4
Brian D

私はあなたがこれを行うためのソフトウェアを書きたいと思っていると思います。単純にそれを行うには、単に線を見つけてベクトルを設定するだけです。それを賢く行うには、図形を図面に合わせるようにします(モデルフィッティング)。さらに、ビットマップ化された領域(恥やテクスチャを適用してモデル化できない領域)の確認を試みる必要があります。かなり時間がかかり、グラフィックとコンピュータビジョンの知識が必要なので、このルートをたどることはお勧めできません。ただし、出力は元の出力よりはるかに大きくなり、スケールも大幅に改善されます。

2
monksy

http://online-converting.com/image/convert-to-svg/ svgに変換するのにうまくいった

2
eagor

このツールは現在非常にうまく機能しています。

http://www.mobilefish.com/services/image2svg/image2svg.php

0
alejandro