Мне нужно изменить исходный код 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
Я хотел бы поступить так, как этот человек, но в новой версии это ржавчина { ссылка }, и я не могу заставить его работать решение, у меня нет ошибок, но я не вижу изображение в конечном результате, он полностью белый.