RSVG удалить лимит изображения, связанный с внешним - PullRequest
0 голосов
/ 31 января 2020

Мне нужно изменить исходный код libRSVG, чтобы отменить ограничение, которое не позволяет использовать внешние изображения в SVG.

Поэтому я изменяю это: https://gitlab.gnome.org/GNOME/librsvg/blob/librsvg-2.46/rsvg_internals/src/allowed_url.rs

путем применения этого патча:

diff --git a/rsvg_internals/src/allowed_url.rs b/rsvg_internals/src/allowed_url.rs
index 5d6e8f2f..9cee33b0 100644
--- a/rsvg_internals/src/allowed_url.rs
+++ b/rsvg_internals/src/allowed_url.rs
@@ -51,6 +51,8 @@ impl AllowedUrl {
             .base_url(base_url)
             .parse(href)
             .map_err(AllowedUrlError::HrefParseError)?;
+        
+        return Ok(AllowedUrl(url));

         // Allow loads of data: from any location
         if url.scheme() == "data" {

, затем я компилирую и, наконец, я тестирую, но это не работает, у меня есть эта ошибка:

rsvg-convert svg1.svg -o svg1.png
Could not render file svg1.svg

Я могу ' Я не понимаю, почему и я не могу получить логи.

svg1.svg

<svg width="640" height="480" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
 <!-- Created with SVG-edit - https://github.com/SVG-Edit/svgedit-->
 <g class="layer">
  <title>Layer 1</title>
  <image xlink:href="https://imagemagick.org/image/wizard.png" id="svg_1" height="475.99999" width="637.00001" y="2.00001" x="1.00001"/>
 </g>
</svg>

Можете ли вы мне помочь, пожалуйста?

РЕДАКТИРОВАТЬ 1

Я хотел бы поступить так, как этот человек, но в новой версии это ржавчина { ссылка }, и я не могу заставить его работать решение, у меня нет ошибок, но я не вижу изображение в конечном результате, он полностью белый.

...