Saya telah berjuang untuk melakukan sesuatu yang tampaknya cukup mendasar:
Di Inkscape, bagaimana saya bisa mengubah ukuran dokumen dan kontennya (yaitu gambar) secara bersamaan?
Sedikit konteks: Saya ingin mengubah ukuran sejumlah besar dokumen SVG dari The Noun Project (biasanya dokumen 100x100px) tanpa harus mengubah ukuran gambar yang sebenarnya secara eksplisit.
NB: Jika ada solusi baris perintah, saya juga bisa bekerja dengan itu!
Jawaban:
Anda belum menyebutkan OS apa yang Anda jalankan. Saya menggunakan Ubuntu, dan saya berhasil menggunakan librsvg2.
Jika Anda memiliki akses ke Ubuntu, inilah yang dapat Anda lakukan. Pertama, instal librsvg2:
Kemudian,
cd
ke direktori yang memiliki SVG Anda (pastikan hanya memiliki SVG!) Dan gunakan perintah seperti berikut:Ini akan membuat batch SVG baru dengan dimensi 200px kali 200px, dan disimpan sebagai "original-file-name.new.svg"
Menghitung dimensi agak membingungkan. Untuk mengubah SVG ke SVG, Anda perlu melakukan sedikit matematika. Opsi "tinggi" dan "lebar" dalam rsvg-convert menggunakan pt, bukan px, dalam kasus seperti itu, jadi gunakan 80 jika Anda ingin 100px, 120 jika Anda ingin 150px, dan sebagainya.
Anda juga dapat menggunakan rsvg-convert ke PNG keluaran. Jauh lebih baik dalam meraster file daripada ImageMagick, setidaknya dalam pengalaman saya. Perhatikan bahwa Anda perlu perubahan
-f
untukpng
, Anda perlu untuk mengubah output menyimpan pola dari's/svg$/new.svg/'
ke's/svg$/png/'
, dan Anda masukkan lebar dan tinggi yang Anda inginkan sebagai nilai-nilai pixel.sumber
rsvg-convert
seperti itu:rsvg-convert noun_project_1576.svg -w 320 -h 160 -f svg -o noun_project_1576-skewed.svg
yang akan mengambil file sumber bernama "noun_project_1576" dan mengubahnya menjadi 400px kali 200px dan menamainya "noun_project_1576-skewed".librsvg
bug teks yang mengalir diperbaiki ...Saat ini tidak ada cara asli untuk melakukan itu di Inkscape. Satu-satunya cara adalah mengubah ukuran konten dan dokumen secara terpisah.
sumber
Meskipun ada beberapa cara untuk melakukannya - seperti disebutkan di sini - salah satu cara yang dapat bekerja dengan sangat baik adalah dengan menggunakan a
viewBox
. Anda cukup mengubah isi dari tag SVG seperti:Apa yang
viewBox
dilakukan adalah mendefinisikan sistem koordinat internal untuk dokumen tersebut. Anda kemudian dapat dengan mudah skala dokumen hanya dengan memodifikasiwidth
danheight
atribut yang diperlukan.Perhatikan bahwa ada beberapa kelemahan. Untuk satu hal, hanya ada konteks tertentu yang berfungsi, khususnya jika Anda entah bagaimana langsung memasukkan dokumen SVG di halaman markup Anda. Menggunakan
<img>
tag dengan ini mungkin atau mungkin tidak menghasilkan hasil yang tidak terduga. Anda harus melakukan riset sendiri untuk mengetahui cara terbaik untuk melakukan ini.sumber