2009-12-29 24 views

cevap

38

SVGElement nesnesinin getBBox() yöntemini kullanabilirsiniz. Elemanın ölçeklendirmesini hesaba katmadan piksel cinsinden genişlik ve yükseklik, x ve y sapmalarını belirtir. Sanırım, aradığınız şey budur.

DÜZENLEME:

  1. Geçenlerde aynı zamanda Az bilinen getBoundingClientRect() eser öğrendim! Ayrıca şunları yapabilirsiniz: getBBox ve getBoundingClientRect arasında bir fark olduğunu unutmayın. getBBox başlangıç ​​boyutlarını elde etmekte - getBoundingClientRect da dönüşümler saygı vb ölçeği ile yapılan

+1

+1. –

+5

'getBBox',' {[..], width: 0, height: 0} 'i döndürür, 'getBoundingClientRect' yapar. İkincisi sadece FireFox'ta çalışmıyor. – Gajus

+0

GetBBox bir işlev olmadığından, öğenizi jQuery ($ (YourElement) gibi) ile sarmayın. – Cedric

-3

SVG'ler ölçeklenebilir vektör grafikleridir ve dolayısıyla herhangi bir keyfi yüksekliğe ve genişliğe sahip olabilirler. Sadece oran format ile sabitlenir.

+0

sayesinde bir çok (i olarak biliyoruz, ama SVG Viever Parçacık i yapmak http://my.opera.com /SpShut/blog/show.dml/5803641) SVG dosyalarının küçük resimlerini görüntülemem gerekiyor (100x100 deyin) ve bir dosyada ne genişlik/yükseklik ne de viewBox öznitelikleri yoksa, * bazı boyutlarda * ve yalnızca 100x100 bölümünde görüntülenir. görünür. Boyutu almak ve width/height ve viewBox özelliklerini ayarlamak için dosyayı bir şekilde işlemek istiyorum. –

+0

Bunun hakkında bir varsayım yapmanız gerekir. Başparmaklarınız 100x100 ise, neden SVG'yi 100x100'de göstermiyorsunuz? – jball

+0

ayarlıyorum ve eğer file.svg, width & height & viewBox ise sadece 100x100 parçası varsa. Grafiklerin boyutunu belirlemek, özellikleri ayarlamak ve dosyayı diskte yeniden yazmak istiyorum, bu yüzden bir varsayım yapılmayacaktır. Bunun nasıl yapıldığına dağir fikri olan? –

İlgili konular