Как я накладываю одно изображение SVG на другой Батик Apache использования?

У меня есть 2 файла SVG, я должен наложить Батик использования. Один файл служит фоновым изображением, и 308 пкс на 308 пкс, в то время как второй файл (260px by 260px) является изображением переднего раздела, которое должно центрироваться (который является в центре фонового изображения). Я хотел бы, чтобы результат операции был сохранен в третьем файле SVG. Если бы Вы знакомы с Батиком, я ценил бы Ваши предложения.

Спасибо,

Olivier.

9
задан Olivier K 14 June 2010 в 14:10
поделиться

1 ответ

Если вам не нужно включать содержимое фонового и переднего планов в конечный документ, вы можете использовать просто ссылку на них:

<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 должно быть просто. Смотрите здесь пример использования API DOM для построения документа.

Если вам нужно объединить два документа в один, то вы можете:

  • let a = Document, полученный в результате разбора background. svg
  • let b = Document, полученный в результате разбора foreground.svg
  • let e = a. importNode(b.getDocumentElement(), true)
  • установим x и y атрибуты e в "24"
  • вызов a. getDocumentElement().appendChild(e)

Теперь a - это документ с объединенным содержимым переднего плана.

8
ответ дан 4 December 2019 в 22:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: