问题标签 [rsvg]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1228 浏览

cairo - 使用 Python、rsvg 和 Cairo 将 SVG 转换为 PDF

我已经设法使用 rsvg 读取 SVG,并在 Python 中通过 Cairo 将其输出到 PNG。

尽管有很多类似的问题,但我还没有看到任何关于如何通过 rsvg 和 cairo 将 SVG 转换为 PDF 的文档。我知道命令行 'rsvg'/'rsvp-convert' 工具,但希望将功能合并到我的 Python 代码中。也没有启动子进程。

举例来说,这基本上是我目前用来渲染 PNG 的内容:

问题是:如何将代码更改为输出 PDF,从而保持矢量格式;不得发生光栅化。

0 投票
2 回答
1287 浏览

php - 使用 PHP 将 SVG 转换为具有多个图像层的 PNG

我使用此代码转换svg为图像png

这适用于单个 svg 图像。

实际上我有一个svg包含多层图像的图像,例如:

第一层-:这是透明的背景T恤图像

第 2 层 -:这是另一个包含颜色的 T 恤图像

第 3 层 -:这是应该放在 T 恤上的小贴纸图片

我的svg代码是-:

现在我想svg组合所有图像层并制作一个png图像。

现在我转换png后的图像只显示背景颜色。T 恤和贴纸图像未显示。

0 投票
0 回答
569 浏览

svg - Why is SVG preserveAspectRatio not working? rsvg-convert

I am using SVG graphics to create images for an app I'm working on. As an example I will use one of my simplest images.

When I finish these images, I use rsvg-convert to create the necessary size images I need for an iOS application. So to generate the 1x, 2x, and 3x sizes I run

I have been led to believe that setting preserveAspectRatio="xMaxYMax meet" should cause my viewBox to scale up to the size of my viewport. However when I implement this I get the following results.

login-1x.png

login-1x.png

login-2x.png

login-2x.png

login-3x.png

login-3x.png

You can see there is no scaling go on at all. In fact if I add

To see an outline of a 100% by 100% rectangle, I get this.

100% by 100% outline

white outline showing

So it's obvious to me that for some reason rsvg-convert is somehow interpreting 100% to be 100% of the viewBox and not the viewport. What am I doing wrong?

0 投票
0 回答
611 浏览

node.js - 使用嵌入的 base64 字体将 SVG 转换为 PNG

我有一个带有将 SVG 文件转换为 PNG 的服务的 nodeJS 后端。我曾经使用phantomJS来做到这一点,从来没有任何问题,但性能真的很糟糕。

我正在寻找一种执行此操作的方法。现在我正在使用 RSVG,除了字体,它工作得很好。

目前我们使用这样的方式将我们的字体嵌入到 SVG 文件中:

在浏览器中,这可以完美运行,但 RSVG 似乎不适用于嵌入的 base64 字体。

有人有建议吗?

0 投票
1 回答
715 浏览

r - 将超链接插入到 DiagrammeR 中的节点标签中

我希望能够DiagrammeR在 R 中创建流程图,以便我可以通过devtools::install_github('rich-iannone/DiagrammeRsvg')包导出 SVG。

我的流程图必须在某些节点中包含超链接,遗憾的是我找不到一种可接受的方法来创建具有功能标签的节点标签<a>。以下是我尝试过的不同方法:

美人鱼

使用DiagrammeR(diagram = "", type = "mermaid")它可以在节点标签中使用 HTML 标签:

在此处输入图像描述

但是要使用<a>标签,我们需要使用=解析器呕吐的标签:

在此处输入图像描述

格维兹

这是与上面相同的流程图,但所有 html 都被剥离并转换为grViz

这不支持 HTML 标签:

在此处输入图像描述

创建图

DiagrammeR还可以让我们按如下方式创建图形:

但它会转义 HTML 标签:

在此处输入图像描述

0 投票
0 回答
255 浏览

svg - 转换 svg到png

我正在努力将 svg 转换为 png。该文件包括一个并且基本上与这里<textPath>的设置相同。我已经安装了 imagemagick,这样 rsvg 是/应该用于渲染 svg 图形。

convert test-imagic.svg test-imagic.png使用以下图像中的结果转换上面链接的 SVG :

在此处输入图像描述

这不是我所追求的。

如何将这样的 svg 转换为 png 或任何其他像素图形格式?

0 投票
0 回答
1173 浏览

imagemagick - Rsvg转换不适用于路径文本

我正在尝试将 svg 文件解析为 png 格式。

这是我的 svg 文件:https ://cdn-imgs-p.stackprint.net/spree/images/62398/original/preview_01.svg

使用 rsvg-convert --unlimited preview_01.svg > preview.png时,路径字体未正确转换:

这是我的输出 png 文件:https ://s3-us-west-2.amazonaws.com/carga-masiva/preview.png

我不知道这是否是一个错误,或者有一个解决方法可以使它工作。

我的 rsvg 版本是2.40.19

0 投票
0 回答
42 浏览

svg - 使用 SSH 更新 RSVG

有什么方法可以通过 SSH 从 Putty 工具更新 RSVG 渲染器。现在是 RSVG 2.26.0。

在此处输入图像描述

我需要这个将svg转换为png。当前版本的 RSVG 不会产生正确的结果。

0 投票
1 回答
106 浏览

rust - How do I set up an icon inside Relm's view! macro?

I am using Rust stable 1.30 and Relm. I figured out how to set up the default window size, but don't know how to set up the icon, at least inside the view! macro.

This is my main.rs

I mean, how to set up the icon defined in main to the window as its icon ? Notice that the icon has been instantiated with rsvg crate.

0 投票
0 回答
204 浏览

svg - svg 在浏览器和 imagemagick 中呈现不同(使用 rsvg 转换)

我正在使用带有rsvg-convert的imagemagick将 svgs 转换为jpegs。除了使用伽玛函数对图像进行颜色校正外,一切正常。它产生的图像与浏览器中的图像非常不同。

这是 svg 在浏览器中的预览。 在 chrome/firefox 中预览

这是imagemagick+rsvg-convert编译同一个svg后的输出 转换后的图像

看看输出图像中的细节是如何被放大的。这是下载带有图像的实际svg的链接

我在 windows 以及 ubuntu 和 centos 上使用相同的版本对其进行了测试(参见 IM 版本的图片)。 在此处输入图像描述

到目前为止,这是我尝试过的几个命令。每个命令输出相同的爆炸图像。

  • 转换 test.svg test.jpg
  • 将 im 评估函数应用到单个图像 - 转换 green_1186.jpg -evaluate pow 1 -evaluate multiply 1.54 -evaluate add 0 green_1186.c.jpg(产生爆炸图像)
  • 对图像应用伽玛 - 转换 green_1186.jpg -gamma 1,1.54,0 green_1186.c.jpg
  • 转换 green_1186.jpg -colorspace srgb -evaluate pow 1 -evaluate multiply 1.54 -evaluate add 0 green_1186.c.jpg
  • 转换 green_1186.jpg -fx "1.54*(pow(u,1))+0" green_1186.c.jpg
  • 转换 green_1186.jpg -auto-gamma -fx "1.54*(pow(u,1))+0" green_1186.c.jpg

我不确定 svg 是否错误,或者我需要重新采样 IM 的值,或者命令是否错误。我非常感谢专家对此事的看法。