Ekspor gambar sebagai SVG di GIMP

85

Saya punya proyek yang sedang saya kerjakan (gambar) dalam GIMP dan saya ingin mengekspornya sebagai SVG. Apakah ini mungkin, atau apakah saya harus tetap mengekspor beberapa ukuran gambar?

Saya tahu GIMP dapat membaca SVG, tetapi bisakah mengekspornya?

Kehadiran RPi
sumber

Jawaban:

106

GIMP v2.8 tidak secara asli mengekspor bitmap ke file SVG. Dulu ada plugin untuk melakukannya tetapi proyek ini tampaknya dihentikan. Kami dapat mengimpor gambar sebagai objek bitmap ke Inkscape Instal inkscape dan menyimpannya sebagai file SVG. Gambar tersebut kemudian akan tetap menjadi file bitmap, yaitu akan mendapatkan artefak aliasing pada penskalaan (lihat di bawah).

Tetapi Inkscape dapat melakukan lebih banyak lagi. Kita dapat mengimpor bitmap yang sudah kita masukkan ke Inkscape dan mengonversinya dengan beberapa klik mouse menjadi grafik vektor yang bagus.

Inilah cara melakukannya:

  1. Buka Inkscape.
  2. Pilih "File - Impor" untuk mengimpor file bitmap.
  3. Pilih untuk "menanamkan" gambar.
  4. Pilih gambar dengan alat pilih ( ).
  5. Pilih Jalur - Lacak Bitmap ... untuk pengaturan (di bawah ini ditunjukkan untuk 2 warna = "Pemindaian" ):

    masukkan deskripsi gambar di sini

  6. Pilih "Perbarui" untuk pratinjau hingga pengaturan baik-baik saja.

  7. Mulailah melacak dengan "OK" .

Sekarang gambar vektor dari bitmap asli Anda akan terlihat di atas bitmap. Kami dapat mengubah ukuran atau memindahkan objek yang baru dibuat ini, menghapus gambar asli, atau memilih untuk "Obyek - Ungroup" jika kita perlu menyesuaikan bentuk atau warna sub-objek yang dibuat.

  1. Jika perlu, kurangi ukuran gambar yang di-vektor-kan (tahan CTRL untuk mengunci rasio), sehingga pas di halaman. Kalau tidak, itu mungkin muncul "dipotong" ketika dilihat.
  2. Gunakan "File - Save As" untuk menyimpan file Anda dalam format SVG.

Keuntungan dari grafik vektor paling cepat terlihat ketika kita meningkatkan ukurannya. Di bawah ini diperbesar hingga 2500%. Atas adalah bitmap asli, bawah adalah objek vektor:

masukkan deskripsi gambar di sini
Gambar dan objek ini dibuat dari sumber asli Anda dari obrolan

Takkat
sumber
1
Terima kasih atas ikhtisar yang bagus. Anda dapat meningkatkan jawaban Anda dengan memberikan jawaban untuk pertanyaan awal. Photoshop CC seharusnya dapat mengekspor gambar SVG, jadi bisakah Gimp melakukannya?
daniels
1
@daniels: Gimp dapat dibuat untuk mengekspor bitmap yang tertanam dalam SVG dengan sebuah plugin tetapi ini (seperti PS btw) tidak akan melacak bitmap ke vektor. Untuk ini, Anda perlu Inkscape atau pelacak lainnya, misalnya autotrace. Untuk yang terakhir ada plugin Trace gimp yang belum saya uji.
Takkat
@Takkat, ekstensi gimpToSVG ​​tidak ada lagi
kokbira
@ Takkat, dimana? Pada github.com/jabiertxof/gimpToSVG Anda hanya dapat melihat info "pindah ke GitLab". Pada tautan GitLab yang diberikan, gitlab.com/jabiertxof/gimpToSVG , Anda tidak dapat mengunduh, dan untuk melihat kode "Anda perlu izin. Ingin melihat datanya? Silakan minta administrator untuk akses.", Tetapi di mana?
kokbira,
@Takkat, mencoba git.exe pull -v --progress "https://gitlab.com/jabiertxof/gimpToSVG/"mengembalikan "jarak jauh: Anda tidak diizinkan mengunduh kode dari proyek ini. / Fatal: tidak dapat mengakses ' gitlab.com/jabiertxof/gimpToSVG.git ': URL yang diminta mengembalikan kesalahan: 403 / git tidak keluar dengan rapi (kode keluar 1) (21075 ms @ 13/06/2017 08:29:28) "
kokbira
18

Meskipun Gimp bukan program vektor, Anda sebenarnya dapat mengekspor jalur tunggal sebagai file SVG dengan Export Pathitem menu.

Berikut ini adalah tutorial foto yang menjelaskan secara rinci cara melakukannya.

Suzana
sumber
12

GIMP adalah aplikasi editor grafis raster. SVG adalah bentuk grafik vektor. Jika Anda ingin mengedit file SVG, Anda harus menginstal inkscapepaket dan menggunakan Inkscape sebagai gantinya. Juga, berhati-hatilah karena SVG tidak sepenuhnya "dapat diskalakan" dalam arti bahwa Anda akan mendapatkan gambar yang bagus pada setiap ukuran yang Anda skalakan, jadi tergantung pada apa yang Anda buat dengannya, Anda mungkin perlu menggambar berbagai ukuran gambar, dengan jumlah detail yang berbeda, sehingga gambar akan terlihat bagus pada ukuran tersebut. Ikon untuk suatu aplikasi, misalnya, perlu digambar dalam berbagai ukuran, apakah itu digambar sebagai gambar raster atau vektor.

dobey
sumber
7

Jika Anda perlu mengonversi gambar raster ke autotrace gambar vektor adalah alat baris perintah yang melakukan hal itu.

Ini tersedia sebagai paket debian di Debian dan Ubuntu bernama autotrace

Contoh menggunakannya adalah:

autotrace input.jpg --output-file output.svg --output-format svg

Pembaruan: Saya juga sukses dengan potrace di mana autotrace mengalami masalah.

Tully
sumber
3
Saya mencoba dengan dua gambar dan itu memberi Read Errordan yang lainnya [7B]pT[F5]: invalid chunk type... mereka berlaku png btw
Adrian
1
@Adrian, bukankah seharusnya perintahnya autotrace input.png --output-file output.svg --output-format svg?
Iulian Onofrei
@Adrian saya mendapatkan yang sama, tetapi hanya memeriksa situs web dan saya pikir itu tidak mendukung PNG. Saya mencoba PBM dan kemudian berhasil!
poshaughnessy
Itu tidak mengenali png, jadi saya mengubahnya menjadi jpg. Ini menghasilkan hampir 6MB svg dari jpg 200KB. Alasannya: itu pada dasarnya mengambil setiap pixel individu sebagai kotak kecil. Tidak dapat digunakan dalam formulir ini.
Csaba Toth
2
Untuk pembaca masa depan, mungkin perlu dicatat bahwa InkScape (dicatat dalam jawaban yang dipilih) saat ini menggunakan spin-off Potrace untuk alat "Trace Bitmap" -nya. Jadi, seharusnya tidak ada perbedaan yang signifikan antara output potrace dan alat penelusuran InkScape.
Spencer D
0

potraceadalah alat untuk itu. Anda dapat memprosesnya secara massal, tetapi pertama-tama Anda harus mengonversi gambar menjadi monokrom:

ls ./p*.jpg | xargs -L1 -I {}  convert -monochrome {} {}.bmp
ls -1 ./*.bmp | xargs -L1 -I {} potrace {} -r 300 -b svg -o {}.svg

Pasang:

sudo apt install potrace
Eduard Florinescu
sumber