Bagaimana cara kerja dukungan vektor di Xcode 6?
Ketika saya mencoba mengubah ukuran gambar, terlihat bergerigi, apa yang terjadi?
sumber
Bagaimana cara kerja dukungan vektor di Xcode 6?
Ketika saya mencoba mengubah ukuran gambar, terlihat bergerigi, apa yang terjadi?
Anda sekarang dapat merujuk ke gambar Anda dengan namanya, seperti yang Anda lakukan pada file .png .
UIImage(named: "myImage")
Dukungan vektor membingungkan dalam Xcode, karena ketika kebanyakan orang memikirkan vektor, mereka memikirkan gambar yang dapat naik turun dan masih terlihat bagus. Namun, Xcode 6 dan 7 tidak memiliki dukungan vektor penuh untuk iOS, jadi semuanya berjalan sedikit berbeda.
Sistem vektor sangat sederhana . Dibutuhkan Anda .pdf
gambar, dan menciptakan @1x.png
, @2x.png
dan @3x.png
aset pada waktu membangun . (Anda dapat menggunakan alat untuk memeriksa konten Assets.car untuk memverifikasi ini.)
Misalnya, anggap Anda diberi foo.pdf
aset vektor 44x44. Pada saat membangun akan menghasilkan file-file berikut:
[email protected]
pada 44x44[email protected]
pada 88x88[email protected]
pada 132x132Ini berfungsi sama untuk ukuran gambar apa pun. Misalnya, jika Anda memiliki bar.pdf
yang 100x100, Anda akan mendapatkan:
[email protected]
pada 100x100[email protected]
pada 200x200[email protected]
pada 300x300
resizableImageWithCapInsets:
dan membagi nilai slice Anda dengan[UIScreen mainScreen].scale
CGFloat scale = [UIScreen mainScreen].scale; UIImage *image = [[UIImage imageNamed:@"my_unsliced_asset"] resizableImageWithCapInsets:UIEdgeInsetsMake(10 * scale, 11 * scale, 12 * scale, 13 * scale)];
Di Xcode 8, Anda masih bisa menambahkan pdf, membuat Set Gambar baru, dan di Inspektur Atribut, atur opsi Timbangan ke Skala Tunggal.
sumber
Ini adalah suplemen untuk jawaban yang sangat bagus oleh @Senseful.
Cara membuat gambar vektor dalam format .pdf
Saya akan memberi tahu cara melakukan ini di Inkscape karena gratis dan open source tetapi program lain harus serupa.
Dalam Inkscape:
Catatan:
Jika Anda sudah memiliki gambar .svg yang ukuran halamannya salah, lakukan hal berikut:
Untuk mengonversi file .svg menjadi .pdf Anda juga dapat menemukan utilitas online untuk melakukan pekerjaan itu untuk Anda. Inilah satu contoh dari jawaban ini . Ini memiliki manfaat memungkinkan Anda untuk mengatur ukuran .pdf dengan mudah.
Bacaan lebih lanjut
sumber
Bagi mereka yang masih belum memperbarui, ada perubahan di Xcode 9 (iOS 11).
Apa yang baru di Cocoa Touch (WWDC 2017 Session 201) (@ 32: 55) https://developer.apple.com/videos/play/wwdc2017/201/
Dalam beberapa kata, Katalog Aset sekarang menyertakan kotak centang baru di Inspektur Atribut bernama "Preserve Vector Data". Ketika diperiksa, data PDF akan dimasukkan dalam biner yang dikompilasi, tentu saja memperbesar ukurannya. Tapi itu memberi kesempatan bagi iOS untuk skala data vektor di kedua arah dan memberikan gambar yang bagus. (Dengan kesulitan sendiri). Untuk iOS di bawah 11, mekanisme penskalaan lama yang dijelaskan dalam jawaban di atas digunakan.
sumber
Anda dapat menggunakan file PDF normal di dalam proyek Anda sebagai gambar Vektor dan membuat gambar dari berbagai ukuran menggunakan ekstensi ini. Cara ini jauh lebih baik karena iOS tidak akan menghasilkan gambar .PNG dari file PDF Anda, plus Anda dapat membuat gambar dengan ukuran apa pun yang Anda inginkan:
sumber