2010-06-14 15 views
8

2 SVG dosyam var. Batik kullanarak bindirmem gerekiyor. Bir dosya arka plan görüntüsü olarak ve 308px by 308px, ikinci dosya ise (260px by 260px) ortalanmış olması gereken ön plan görüntüsüdür (arka plan görüntüsünün ortasındaki). İşlemin üçüncü bir SVG dosyasına kaydedilmesini istiyorum. Batik'e aşina iseniz, önerilerinizi takdir ediyorum.Apache Batik kullanarak bir SVG görüntüsünü diğerine nasıl yerleştiririm?

sayesinde

Olivier. Eğer nihai birinde arka planın içeriğini ve ön plan belgeleri içerecek şekilde gerekmiyorsa

cevap

8

, onları referans kullanabilirsiniz:

<svg xmlns='http://www.w3.org/2000/svg' 
    xmlns:xlink='http://www.w3.org/1999/xlink' 
    width='308' height='308' viewBox='0 0 308 308'> 
    <image xlink:href='background.svg' width='308' height='308'/> 
    <image xlink:href='foreground.svg' x='24' y='24' width='260' height='260'/> 
</svg> 

DOM kullanarak bu belgeyi oluşturmak için basit olmalıdır . Belge oluşturmak için DOM API'lerini kullanma örneği için bkz. here.

Eğer birine iki belgeyi birleştirmek gerekir, o zaman olabilir:

  • = Documentparsing
  • b izin background.svg = kaynaklanan Document bir çıkan izin
  • izin foreground.svg ayrıştırma e = a.importNode(b.getDocumentElement(), true)
  • e ait x ve y özelliklerini "24" a ön plan içeriği ile bir belgedir Şimdi a.getDocumentElement().appendChild(e)

yılında birleşti

  • çağrı için.

    set
  • İlgili konular