SVG ve viewBox değerleri


14

Sadece viewBoxdeğerlerin (yani viewBox="a b c d") nasıl belirlendiğini bilen var mı merak ediyorum .

Inkscape'in SVG işlevselliğini anlamaya çalışıyorum, bu yüzden yaptığım şey Inkscape'de 100pxx 100pxolan, görünümün sol tarafından (yani 0yatay değer) sağ tarafa (yani 100yatay değer) bir çizgi çizildi .

Ancak garip bir şekilde, bu belgeyi Düz SVG dosyası olarak kaydettiğimde ve dosyayı bir metin düzenleyicisinde açtığımda, viewBoxdeğerler viewBox="0 0 26.458333 26.458334", örneğin, yerine ayarlandı viewBox="0 0 100 100".

Bu değerlerin ( 0 0 26.458333 26.458334) nasıl belirlendiğini ve bu değerlerle görünüm alanı boyutları arasında neden bir ilişki olmadığını kimse biliyor mu ?

Not: viewBoxBelge seçeneklerinde özelliği manuel olarak düzenleyebileceğinizi biliyorum , ancak hala Inkscape'in neden funky değerlere ayarladığını merak ediyorum.

Yanıtlar:


19

Inkscape , belgeniz için varsayılan görüntüleme birimi veya kullanıcı birimi olarak mm kullanır . Kullanıcı birimleri SVG dosyasındaki değerleri saklamak için kullanılır.

<svg width="100" height="100" viewBox="0 0 26.458333 26.458333">

Bu etiket, çizim boyutunu açıklar 100px x 100px. ViewBox özniteliği 100px x 100px, eşdeğer olduğunu tanımlar 26.458333 x 26.458333 user units.

SVG ölçek faktör olacaktır 1px / 0.2645 user-unitdepolanan tüm değerleri dönüştürmek için bir SVG Oluşturucu tarafından kullanılabilen, kullanıcı birimleri için gerçek dünya çekme boyutları.


Bu durumda Inkscape değerleri içinde saklamak ister mm, bu yüzden nasıl bir pxilişki olduğunu bilmek zorundadır mm. CSS özellikleri mutlak uzunluk birimleri birbirlerine göre sabit olduğu açıklanmaktadır:96px = 1in

Bu şu anlama gelir 100px = 1.041666667in = 2.645833333cm = 26.45833333mm

İşte bu noktada 26.45833333geliyor.


Eğer Inkscape tüm değerlerini saklamak istiyorsanız px, varsayılan değiştirebilir teşhir veya kullanıcı birimleri için pxbelge özelliklerinde (Dosya> Belge Özellikleri> Sekme: Sayfa> Genel> Ekran Birimleri)

  1. Varsayılan, mm:

Belge özellikleri mm

  1. Değişti: px:

Belge özellikleri px

Aynı belgenin dışa aktarılması aşağıdaki SVG etiketiyle sonuçlanır:

<svg width="100" height="100" viewBox="0 0 100 100">

Şimdi SVG ölçek faktörü 1px / 1 user-unit.

Bu konu hakkında daha fazla bilgi edinmek isterseniz, Inkscape Wiki'sinde daha ayrıntılı bir açıklama var.

Uyarılar:

  • Inkscape v0.92 96px/in, Inkscape v0.91 ve daha önceki bir90px/in

Vay. Çok ilginç. Yani bir kafiye ve bunun bir nedeni vardı. Bilginizi paylaştığınız için çok teşekkürler!
oldboy

Kullandığınız beyazlatma tekniğini hatırlayacağım. Normalde ekran görüntülerinin önemli kısımlarına kırmızı kareler koydum, seninki çok daha güzel.
aaaaaa
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.