Bagaimana cara mengubah gambar PNG ke SVG?
Bagaimana cara mengubah gambar PNG ke SVG?
Jawaban:
Ada situs web tempat Anda dapat mengunggah gambar Anda, dan lihat hasilnya.
Tetapi jika Anda ingin mengunduh svg-image Anda, Anda harus mendaftar. (Jika Anda mendaftar, Anda mendapatkan 2 gambar gratis)
potrace
tidak tidak mendukung PNG sebagai file input, tapi PNM .
Karena itu, pertama convert
dari PNG ke PNM:
convert file.png file.pnm # PNG to PNM
potrace file.pnm -s -o file.svg # PNM to SVG
potrace -s
=> File keluaran adalah S VGpotrace -o file.svg
=> Tulis output ke file.svg
convert 2017.png 2017.pnm
File sementara = 2017.pnm
potrace 2017.pnm -s -o 2017.svg
ykarikos mengusulkan skrip png2svg.sh yang telah saya perbaiki:
#!/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
Jika Anda ingin mengonversi banyak file, Anda juga dapat menggunakan perintah satu baris berikut:
( 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 )
Lihat juga perbandingan konverter raster dan vektor yang bagus ini di Wikipedia.
potrace
ikon hitam putih. Terima kasih atas tanggapan Anda. Tapi maaf tidak tahu bagaimana cara mempertahankan warna ... Ho! Saya punya ide: Jika gambar asli Anda memiliki beberapa warna (misalkan tiga warna unik), Anda dapat membuat tiga gambar awal (satu untuk setiap warna). Kemudian konversikan ke SVG. Dan akhirnya, gabungkan ketiga konten SVG dalam satu file (SVG berbasis XML). Semoga ini bisa membantu ... Ceria ;-)
convert
dan potrace
tersedia di banyak platform. Saya menggunakan komputer berbasis Linux. Saya baru saja menggunakan perintah ini kemarin untuk menghasilkan SVG dari kertas yang dipindai. Anda dapat melihat hasilnya: cpp-frug.github.io/images/Cpp-President-2017.svg Tolong jelaskan lebih lanjut tentang target Anda. Apa yang Anda inginkan / heran? Apa kebutuhan / keinginan Anda? Cheers ;-)
Png adalah gaya gambar bitmap dan SVG adalah desain grafis berbasis vektor yang mendukung bitmap sehingga tidak seolah-olah akan mengubah gambar menjadi vektor, hanya gambar yang disematkan dalam format berbasis vektor. Anda dapat melakukan ini menggunakan http://www.inkscape.org/ yang gratis. Ini akan menanamkannya, namun ia juga memiliki mesin seperti Jejak Langsung yang akan mencoba mengubahnya menjadi jalur jika Anda mau (menggunakan potrace). Lihat jejak langsung di ilustrator adobe (komersial) adalah contoh:
http://graphicssoft.about.com/od/illustrator/ss/sflivetrace.htm
Anda mungkin ingin melihat potrace .
Mudah
Seperti yang akan Anda lihat, jika Anda ingin melakukan banyak hal .svg pintar lainnya, Anda dapat melakukannya menggunakan Inkscape juga.
Pengamatan non-teknis: Saya pribadi lebih suka metode ini daripada penawaran situs web "gratis" karena, selain sering memerlukan pendaftaran, dengan mengunggah gambar, dalam semua hal praktis, seseorang memberikan gambar kepada pemilik situs web.
dengan adobe illustrator:
Buka Adobe Illustrator. Klik "File" dan pilih "Open" untuk memuat file .PNG ke dalam program. Edit gambar sesuai kebutuhan sebelum menyimpannya sebagai file .SVG. Klik "File" dan pilih "Save As." Buat nama file baru atau gunakan nama yang ada. Pastikan jenis file yang dipilih adalah SVG. Pilih direktori dan klik "Simpan" untuk menyimpan file.
atau
converter online http://image.online-convert.com/convert-to-svg
saya lebih suka AI karena Anda dapat membuat perubahan yang diperlukan
semoga berhasil
Yang mengejutkan saya, ternyata ternyata potrace , hanya bisa memproses hitam putih. Itu mungkin baik untuk kasus penggunaan Anda, tetapi beberapa mungkin menganggap kurangnya pelacakan warna menjadi masalah.
Secara pribadi, saya mendapatkan hasil yang memuaskan dengan Vector Magic
Tetap saja itu tidak sempurna.
Catatan untuk mereka yang menggunakan potrace dan imagemagick , mengubah gambar PNG dengan transparansi ke PPM tampaknya tidak bekerja dengan baik. Berikut adalah contoh yang menggunakan -flatten
bendera convert
untuk menangani ini:
sudo apt-get install potrace imagemagick
convert -flatten input.png output.ppm
potrace -s output.ppm -o output.svg
rm output.ppm
Fenomena menarik lainnya adalah Anda dapat menggunakan PPM (256 * 3 warna, yaitu. RGB), PGM (256 warna, yaitu. Skala abu-abu) atau PBM (2 warna, mis. Hanya putih atau hitam) sebagai format input. Dari pengamatan terbatas saya, akan terlihat bahwa pada gambar yang anti-alias, PPM dan PGM (yang menghasilkan SVG identik sejauh yang saya bisa lihat) mengecilkan area berwarna dan PBM memperluas area berwarna (walaupun hanya sedikit). Agaknya ini adalah perbedaan antara pixel > (256 / 2)
tes dan pixel > 0
tes. Anda dapat beralih di antara ketiganya dengan mengubah ekstensi file, yaitu. berikut menggunakan PBM :
sudo apt-get install potrace imagemagick
convert -flatten input.png output.pbm
potrace -s output.pbm -o output.svg
rm output.pbm
Anda juga dapat mencoba http://image.online-convert.com/convert-to-svg
Saya selalu menggunakannya untuk kebutuhan saya.
Saya baru saja menemukan pertanyaan dan jawaban ini ketika saya mencoba melakukan hal yang sama! Saya tidak ingin menggunakan beberapa alat lain yang disebutkan. (Tidak ingin memberikan email saya, dan tidak mau membayar). Saya menemukan bahwa Inkscape (v0.91) dapat melakukan pekerjaan yang cukup bagus. Ini tutorial cepat untuk dan mudah dimengerti.
Ini sesederhana memilih bitmap Anda di Inkskape dan Shift + Alt + B.
Bergantung pada mengapa Anda ingin mengonversi dari .png ke .svg, Anda mungkin tidak harus melalui masalah. Mengubah dari .png (raster) ke .svg (vektor) bisa menyebalkan jika Anda tidak terlalu mengenal alat yang tersedia, atau jika Anda bukan perancang grafis berdasarkan perdagangan.
Jika seseorang mengirimi Anda file berukuran besar dan beresolusi tinggi (mis. 1024x1024), Anda dapat mengubah ukurannya menjadi hampir semua ukuran yang Anda inginkan di GIMP. Seringkali, Anda akan mengalami masalah mengubah ukuran gambar jika resolusi (jumlah piksel per inci) terlalu rendah. Untuk memperbaiki ini di GIMP, Anda dapat:
File -> Open
: file .png AndaImage -> Image Properties
: periksa Resolusi, dan ruang warna. Anda menginginkan resolusi sekitar 300 ppi. Dalam kebanyakan kasus, Anda ingin ruang warna menjadi RGB.Image -> Mode
: diatur ke RGBImage -> Scale Image
: biarkan ukurannya sendiri, atur dan resolusi Y ke 300 atau lebih besar. Skala Hit.Image -> Scale Image
: resolusi sekarang harus 300 dan sekarang Anda dapat mengubah ukuran gambar ke hampir semua ukuran yang Anda inginkan.Tidak semudah mengubah ukuran file .svg, tetapi jelas lebih mudah dan lebih cepat daripada mencoba mengubah .png menjadi .svg, jika Anda sudah memiliki gambar besar beresolusi tinggi.
Saya berasumsi bahwa Anda ingin menulis perangkat lunak untuk melakukan ini. Untuk melakukannya secara naif Anda hanya akan menemukan garis dan mengatur vektor. Untuk melakukannya dengan cerdas, Anda mencoba memasangkan bentuk ke gambar (fitting model). Selain itu, Anda harus berusaha memastikan wilayah bitmaped (wilayah yang tidak dapat Anda modelkan melalui rasa malu atau menerapkan tekstur. Saya tidak akan merekomendasikan menempuh rute ini karena akan memakan sedikit waktu dan memerlukan sedikit pengetahuan grafis dan visi komputer. Namun, output akan jauh lebih baik dan skala lebih baik daripada output asli Anda.
http://online-converting.com/image/convert-to-svg/ bekerja dengan baik untuk mengkonversi ke svg
potrace
pada baris perintah - membuat saya bertanya-tanya apa yang digunakan situs web secara internal ...
Alat ini bekerja dengan sangat baik sekarang.
Jika Anda menggunakan sistem Linux, imagemagick sempurna. Yaitu
convert somefile.png somefile.svg
Ini berfungsi dengan banyak format yang berbeda.
Namun untuk media lain seperti penggunaan video dan audio (ffmpeg) saya tahu Anda menyatakan png ke svg; Masih terkait media.
ffmpeg -i somefile.mp3 somefile.ogg
Hanya tip untuk jika Anda ingin melihat banyak file; loop menggunakan trik dasar shell ..
for f in *.jpg; do convert $f ${f%jpg}png; done
Itu menghapus jpg dan menambahkan png yang memberitahu konversi apa yang Anda inginkan.