PerfectVector
Oleh Irene Kim6 menit baca

Ekspor CLI Inkscape: Halaman, Gambar, atau Objek

Pilih batas halaman, gambar, atau objek untuk ekspor PNG lewat CLI Inkscape. Bandingkan keluaran nyata, buat dua ukuran, dan pertahankan master SVG asli.

Di halaman ini

Untuk ekspor PNG lewat command line Inkscape, pilih area terlebih dahulu: --export-area-page mempertahankan bingkai halaman, --export-area-drawing menyesuaikan dengan gambar, dan --export-id menargetkan batas objek. Tambahkan --export-id-only ketika keluaran harus menampilkan hanya objek itu. Panduan command line Inkscape membedakan pemotongan objek dari penyembunyian objek lain.

Lalu tetapkan lebar keluaran, transparansi, dan nama file secara eksplisit. Pilihan itu membuat batch penyerahan kecil lebih mudah diperiksa dan diulang.

Apa yang berubah dalam ekspor pengujian kami

Kami membuat SVG 600 × 360 dengan dua objek bernama: lencana hijau dan bidang warna koral yang bertumpang tindih dengan tepi kanannya. Halaman menyertakan ruang kosong yang cukup luas. Batas gabungan gambar adalah 400 × 180 satuan; lencana sendiri 180 × 180.

Kami mengekspor sumber dengan aplikasi resmi Inkscape 1.4.4 macOS arm64, memakai executable command line-nya. Keempat ekspor di bawah meminta lebar 600 piksel dan latar transparan.

Pilihan eksporKeluaran dalam pengujian iniKonten terlihat
Area halamanPNG 600 × 360Kedua objek dengan padding halaman.
Area gambarPNG 600 × 270Kedua objek dalam potongan lebih rapat.
ID lencanaPNG 600 × 600Lencana ditambah sebagian bidang warna yang bertumpang tindih.
ID lencana dengan --export-id-onlyPNG 600 × 600Hanya lencana.
Area ekspor dan visibilitas objek
Ekspor PNG Inkscape nyata membandingkan padding halaman, batas gambar rapat, potongan objek dengan bidang warna bertumpang tindih, dan lencana terisolasi
Keluaran Inkscape 1.4.4 nyata dari satu SVG. Pratinjau diskalakan agar muat dalam setiap panel; pola papan catur berada di belakang PNG transparan.

Objek terisolasi jauh lebih besar di dalam PNG-nya karena kami tetap meminta 600 piksel melintasi batasnya yang lebih sempit. Lebar keluaran konsisten tidak berarti skala karya konsisten ketika area ekspor berubah.

Contoh ini memakai SVG satu halaman dengan bentuk biasa. Contoh tidak menguji pemilihan beberapa halaman, filter, atau image tertaut.

Buat sumber dengan ID objek yang tetap

Simpan kode berikut sebagai master.svg. ID grup badge memungkinkan perintah mengekspor lingkaran dan path-nya bersama. Objek kedua, swatch, sengaja melintasi batas lencana.

<svg xmlns="http://www.w3.org/2000/svg"
     width="600" height="360" viewBox="0 0 600 360">
  <g id="badge">
    <circle cx="150" cy="160" r="90" fill="#236f62"/>
    <path d="M150 89L190 160L150 231L110 160Z" fill="#cde0a4"/>
    <path d="M150 115L175 160L150 205L125 160Z" fill="#236f62"/>
  </g>
  <rect id="swatch" x="200" y="140" width="260" height="80"
        rx="12" fill="#d68462"/>
</svg>

Untuk desain yang ada, periksa ID SVG sebelum membuat skrip ekspor. Nama objek yang ditampilkan editor mungkin berbeda dari XML id yang digunakan perintah. Panduan penyuntingan SVG kami menjelaskan cara memeriksa dan mengubah markup sambil menyimpan cadangan.

Ekspor halaman, gambar, dan lencana terisolasi

Perintah di bawah memakai sintaks Bash atau Zsh. Jalankan dari folder yang berisi master.svg. Pertama, arahkan variabel shell ke executable Inkscape Anda:

inkscape_bin=inkscape
mkdir -p exports

Pengaturan itu mengasumsikan inkscape tersedia pada PATH Anda. Untuk instalasi aplikasi macOS biasa, nilainya bisa berupa /Applications/Inkscape.app/Contents/MacOS/inkscape. Berikan tanda kutip pada path saat menetapkannya jika lokasi Anda mengandung spasi.

Untuk seluruh halaman:

"$inkscape_bin" --batch-process master.svg \
  --export-type=png --export-area-page \
  --export-width=600 --export-background-opacity=0 \
  --export-filename=exports/page.png

Untuk potongan di sekitar gambar:

"$inkscape_bin" --batch-process master.svg \
  --export-type=png --export-area-drawing \
  --export-width=600 --export-background-opacity=0 \
  --export-filename=exports/drawing.png

Untuk lencana sendiri:

"$inkscape_bin" --batch-process master.svg \
  --export-type=png --export-id=badge --export-id-only \
  --export-width=600 --export-background-opacity=0 \
  --export-filename=exports/badge.png

Untuk mereproduksi kontrol tumpang tindih dalam gambar, hapus --export-id-only dari perintah terakhir dan ubah nama keluaran. Bidang warna koral lalu muncul di dalam potongan lencana. Memilih potongan berdasarkan ID sendiri tidak mengisolasi karya.

Manual Inkscape mendokumentasikan flag ini. --export-width menetapkan lebar bitmap dalam piksel dan menimpa pengaturan DPI. Rasio aspek ekspor menentukan tinggi yang bersesuaian. Kami memakai satu pilihan area per perintah dan path keluaran .png eksplisit.

Kami menyertakan --batch-process dalam perintah yang diuji. Dalam proses macOS ini, ekspor tanpa flag itu menulis PNG tetapi membiarkan proses tetap berjalan; perintah di atas selesai normal. Flag ini terpisah dari loop shell yang meminta beberapa ukuran.

Buat dua ukuran tanpa mengubah master

Untuk sepasang PNG dengan bingkai halaman, ulangi pengaturan cakupan yang sama dan ubah hanya lebar serta nama keluaran:

for export_width in 240 480; do
  "$inkscape_bin" --batch-process master.svg \
    --export-type=png --export-area-page \
    --export-background-opacity=0 \
    --export-width="$export_width" \
    --export-filename="exports/page-${export_width}.png" || exit 1
done

Proses kami menghasilkan PNG 240 × 144 dan 480 × 288. Keduanya mempertahankan bingkai halaman dan latar transparan yang sama. Hash SHA-256 master.svg cocok sebelum dan sesudah ekspor, sehingga byte sumber tidak berubah dalam pengujian ini.

Gunakan nama keluaran yang mengidentifikasi sumber, area, dan ukuran ketika memperluasnya menjadi pekerjaan lebih besar. Simpan perintah dalam skrip di samping file sumber agar pilihan dapat direproduksi kemudian. Periksa keluaran pertama sebelum menjalankan folder karya besar.

Periksa file sebelum penyerahan

Periksa dimensi maupun konten terlihat. Perintah yang berhasil tetap dapat mengekspor potongan salah, tumpang tindih tak diinginkan, atau padding lebih banyak daripada yang dimaksud.

  • Margin kosong besar: bandingkan ekspor halaman dan gambar. Pilih bingkai yang diharapkan tujuan.
  • Objek lain muncul dalam potongan ID: periksa apakah Anda memerlukan --export-id-only.
  • Transparansi tampak putih dalam penampil: buka PNG di atas latar kontras. Objek latar putih dalam sumber adalah karya dan tetap terlihat meskipun latar ekspor transparan.
  • Karya tampak lebih besar antar-keluaran: bandingkan area ekspor selain lebar piksel.

Panduan ekspor PNG Inkscape menjelaskan konsep halaman, gambar, seleksi, dan latar di balik pilihan tersebut. PNG adalah file penyerahan raster, jadi simpan SVG untuk penyuntingan. Lihat panduan file SVG jika Anda perlu memeriksa isi sumber sebenarnya.

Jika Anda membandingkan jalur otomatisasi lain, panduan SVG ke PNG Sharp kami membahas renderer dan alur ukuran pustaka tersebut. Opsi API-nya tidak dapat diterapkan langsung pada Inkscape.

Jika karya sumber hanya tersedia dalam PNG atau JPG, vektorisasi gambar PerfectVector dapat menyiapkan karya vektor yang bisa diedit sebelum tahap ekspor ini. Periksa path hasil rekonstruksi di editor, lalu pilih bingkai halaman dan ID objek. Alur Trace Bitmap Inkscape adalah jalur persiapan lain. SVG yang sudah berisi path yang diperlukan dapat langsung diekspor.

FAQ

Mengapa ekspor halaman dan gambar berbeda ukuran? Batasnya dapat memiliki rasio aspek berbeda. Dalam pengujian kami, keduanya meminta lebar 600 piksel, tetapi halaman 600-kali-360 menghasilkan PNG lebih tinggi daripada batas gambar 400-kali-180.

Mengapa export-id masih menyertakan objek lain? Opsi itu memilih batas ekspor objek target. Karya lain yang melintasi batas tersebut dapat tetap terlihat. Tambahkan export-id-only ketika Anda ingin menyembunyikan objek lain.

Apakah batch PNG ini menimpa sumber SVG? Perintah yang ditampilkan membaca master.svg dan menulis PNG dengan nama terpisah. Hash sumber kami tidak berubah setelah pengujian. Simpan master dan file penyerahan terpisah, dan periksa tindakan penyuntingan atau penyimpanan tambahan sebelum memasukkannya ke skrip.

Sources

  1. Inkscape Wiki — Using the Command Line — Alur ekspor dan perbedaan antara potongan objek serta keluaran objek terisolasi.
  2. Inkscape — Manual command line — Opsi area, objek, ukuran, latar, dan keluaran.
  3. Inkscape Beginners' Guide — Mengekspor File PNG — Konsep area ekspor dan transparansi.

Jika karya Anda masih memerlukan path vektor, vektorisasikan gambar dan periksa hasil terlebih dahulu. Lalu simpan master SVG, pilih satu cakupan ekspor, dan verifikasi potongan serta dimensi PNG pertama sebelum mengulangi batch.

Lebih banyak dari blog

Mulai dengan SVG yang lebih rapi
dan lebih mudah diedit