cara meraster SVG tanpa anti-aliasing

21

Saya telah membuat peta di inkscape dan sekarang perlu mengubahnya ke bitmap atau .png. Peta akan ditafsirkan oleh program komputer yang akan mencari warna yang tepat sehingga ujung-ujungnya harus garing. ketika saya mengekspor .png dengan inkscape, menggunakan konverter file online atau bahkan mengambil tangkapan layar itu selalu anti-alias. membantu.masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

William W
sumber
Hmm ... sepertinya Inkscape tidak menawarkan opsi alias saat mengekspor ke raster. Anda dapat mencoba membuka SVG di aplikasi raster (seperti PS) dan melihat apakah itu menawarkan Anda opsi alias di sana.
DA01
Photoshop 7.0 yang saya miliki tidak memiliki kemampuan untuk membuka SVG. Saya tidak punya program lain yang bisa melakukannya. jika ada freeware yang mungkin berhasil saya tertarik pada mereka.
William W
Adapun aplikasi raster GIMP adalah open source. Paint.net adalah freeware. Namun tidak yakin apakah mendukung pembukaan SVG.
DA01
Sepertinya mungkin ada cara untuk melakukan ini di browser: stackoverflow.com/questions/16889078/…
DA01
Oh, dan akhirnya ... satu solusi mungkin untuk mengambil tangkapan layar, memasukkannya ke dalam PhotoShop, dan kemudian menggunakan "Posterize" Filter / alat PhotoShop untuk mengurangi palet warna ke hanya warna solid yang ingin Anda gunakan.
DA01

Jawaban:

17

Versi pengembangan Inkscape (rilis 0.91 mendatang) memiliki toggle anti-aliasing global di jendela Document Properties, yang juga bisa digunakan untuk ekspor. Cari "Versi Pengembangan" di halaman unduhan:

http://www.inkscape.org/en/download/

Krzysztof Kosiński
sumber
terima kasih, Anda tahu berapa lama sampai keluar? Saya tidak melihatnya di situs.
William W
Fase saat ini adalah "Frost". Anda dapat melihat kemajuan menuju rilis di sini: inkscape.org/en/develop/next-release Saya pikir itu harus dirilis dalam 5 bulan ke depan.
Krzysztof Kosiński
Wow. Mereka melompat dari 0,48 ke 0,91! Memang, itu kurang dari 'setengah versi' tetapi masih merupakan pembaruan besar di dunia inkscape. Versi 1.0 kami datang!
DA01
5
Sayangnya tidak berpengaruh pada ekspor ...
Ray
Juga tidak berfungsi untuk saya ketika mengekspor sebagai file PNG.
pengujian
12

Salah satu solusi sederhana adalah mengekspor ke PDF, dan kemudian menggunakan Ghostcript pada PDF yang dihasilkan. Menggunakan gambar stroberi dari Openclipart dan perintah

gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=png16m \
   -r72 -dGraphicsAlphaBits=1 \
   -sOutputFile=image.png image.pdf 

Saya mendapatkan hasil sebagai berikut.

Gambar stroberi yang tidak antialisa. Diperbesar dalam gambar stroberi yang tidak antialisa.

Jika gambar Anda juga menyertakan teks, Anda harus menambahkan -dTextAlphaBits=1juga. Ubah nilai -r72yang berbeda untuk mengubah skala gambar.

Karl Ove Hufthammer
sumber
2
Itu pasti adalah cara bundaran untuk melakukannya tetapi goshdang jika tidak berhasil.
obskyr
11

Inkscape 0.91 dan di atasnya memiliki kemampuan untuk beralih antialiasing. Ini dapat diakses melalui jendela Document Properties (Shift + Ctrl + D). Ketika dinyalakan, yang merupakan default, gambar array segitiga ini terlihat seperti ini.

masukkan deskripsi gambar di sini

Saat dimatikan gambar terlihat lebih halus.

masukkan deskripsi gambar di sini

Seperti yang disebutkan orang lain, saat ini tidak berpengaruh pada ekspor png. Antialiasing masih dihidupkan dan celah di antara segitiga masih terlihat.

Apa yang dilakukan Inkscape ketika Anda menonaktifkan antialiasing ditambahkan shape-rendering="crispEdges"ke file. Buka SVG Anda dalam editor teks dan lihat di sekitar baris 19 dan Anda akan melihatnya.

masukkan deskripsi gambar di sini

Untungnya, tag ini dibaca dan ditaati ketika mengimpor SVG ke GIMP. GIMP dapat mengimpor SVG dan mengatur resolusi impor, yang berarti Anda dapat mengatur skala png Anda pada impor menjadi ukuran yang Anda inginkan. Ini akan memotongnya ke batas halaman.

masukkan deskripsi gambar di sini

Anda sekarang dapat menyimpan gambar dan antialiasing akan dinonaktifkan.

masukkan deskripsi gambar di sini

Ini telah dilaporkan sebagai bug beberapa kali:

makanan hellocatfood
sumber
1
Penjelasan sempurna! Sebagai ilustrasi, bentuk diagonal atau bulat akan membuat efeknya lebih terlihat.
Maks.
Saya menemukan pemuatan di GIMP tidak berfungsi kecuali saya memburu setiap instance shape-rendering:autodalam SVG dan mengubahnya menjadi crispEdges. Ternyata banyak jalan (mungkin semua) memiliki :autospesifikasi dalam gaya mereka.
Mutant Bob
2

Anda juga dapat menggunakan shape-renderingproperti SVG untuk membuat edge crisp.

Dalam SVG XML yang terlihat seperti:

<svg:something shape-rendering="crispEdges" ... />

Di Inkscape's UI Anda dapat mengatur ini secara manual menggunakan Editor XML ( Ctrl+ Shift+ X) seperti yang ditunjukkan dalam tangkapan layar ini:

Editor XML Inkscape

Pilih simpul yang harus diterapkan properti. Di sini saya menerapkannya pada sekelompok jalur. Properti ditampilkan di sebelah kanan. Untuk menambahkannya, gandakan teks yang Anda lihat di sudut kanan bawah, lalu tekan Set.

Drew Noakes
sumber