svg2png

SVG-to-PNG 转换器
授权协议 未知
开发语言 JavaScript
所属分类 程序开发、 图形/图像处理
软件类型 开源软件
地区 不详
投 递 者 微生昌勋
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

svg2png 是一个使用 PhantomJS 将 SVG 转换为 PNG 的工具。

const fs = require("pn/fs"); // https://www.npmjs.com/package/pn
const svg2png = require("svg2png");

fs.readFile("source.svg")
    .then(svg2png)
    .then(buffer => fs.writeFile("dest.png", buffer))
    .catch(e => console.error(e));

svg2png 建立在最新的 PhantomJS 技术上,使用一个 headless WebKit 实例来渲染你的 SVG。这比GraphicsMagick或Inkscape等其他解决方案能产生更精确的渲染。

此外,由于Phantomjs npm包的出色表现,它很容易跨平台安装--你甚至不需要在你的PATH中设置PhantomJS。

以前版本的 svg2png 试图根据宽度、高度和 viewBox 属性来推断出良好的尺寸。从 3.0 版本开始试图尽可能地贴近在浏览器中加载 SVG 文件的行为。其规则是:

  • 任何以百分比为单位的宽度或高度属性都会被忽略,并且不计入后续规则中。
  • 尺寸选项 { width, height } 覆盖了SVG文件中的任何宽度或高度属性,包括后续规则。如果尺寸对象中缺少一个键(即{宽度}或{高度}),SVG文件中的相应属性将被删除。
  • 没有viewBox属性的width和height属性会导致输出为这些尺寸;这可能会裁剪图像,或者在底部和右侧扩展出空白空间。
  • 带有viewBox属性的宽度和/或高度属性会使图像按照这些尺寸缩放。如果比例与viewBox的长宽比不一致,图像将被扩展并居中,在额外的尺寸上有空隙。当viewBox存在时,宽度或高度中的一个可以被省略,缺少的那个可以从viewBox的长宽比中推断出来。
  • 当既没有宽度也没有高度属性时,promise 会被拒绝。

svg2png 使用最新的 ES2015 features,因此需要最新版本的 Node.js。仅支持 6.x 系列以后。

  •   最近做了emf2svg的工程,发现转出来的svg不能重新导入ppt,所以搞了个svg2png。这些功能很多都是有比较完善的代码,只是在windows下搞会比较麻烦。这次我测试的是sf_svg(github上找一下),需要SFML(http-s://w-ww.sfml-dev.org/download/sfml/2.5.1/,如果不能跳转请将多余的-删掉)   在vs上编译,我是将所有的文件拉进

  • CairoSVG介绍 CairoSVG是一个将SVG转为PNG,PDF, PS格式的库,当前版本的CairoSVG至少需要Python 3.5以上版本。 CairoSVG安装和使用 pip install cairosvg 通过命令行你就可以使用CairoSVG,以下代码能够将当前目录下的image.svg文件转换为image.png文件: cairosvg image.svg -o image

  • from svglib.svglib import svg2rlg from reportlab.graphics import renderPM pic = svg2rlg('abc.svg') renderPM.drawToFile(pic,'abc.png') 参考 https://blog.csdn.net/O8088/article/details/125508392

  • /** * @desc SVG转PNG * @param {Object} o 转入参数 * @param {Element} o.svg svg 节点 * @param {Number} o.scale 缩放 * @param {String} o.toDataType 输出数据类型 toDataURL||toBlob * @param {Function} o.su

  • png转换svg Earlier this year I became obsessed with different types of media (images, audio, video) and how to convert and merge one format to/with another.  Half of that obsessions is due to fascinatio

  • 继json和xml之后,需要处理SVG格式的图像数据。这次没有想象中的顺利,找了几种方案最后才成功。 转换SVG格式用到的是cairosvg库,但是安装的时候失败了很多次,主要是下载过程经常中断,需要耐心,别急。 这个库不再支持python2,要求在python3下使用,安装指令如下: sudo pip3 install cairosvg 从SVG转到PNG格式,命令行输入: cairosvg i

  • 入门前端开发的这段时间,我经常听到的两种图片格式:svg和png。这两种图片格式分别是什么样子的呢,又有什么区别呢?对此,我查阅资料有了以下的认识。 1、svg是矢量图,png是位图。简单了解:位图会受到分辨率大小的影响,分辨率越高,图片越清晰,而矢量图不会受到分辨率影响 2、svg由图形和路径组成,png由像素组成 3、svg不会因为放大而失真,并且支持透明度和动画,是 XML 编写的代码片段;

  • Java svg图片转png图片 比较简单,主要使用batik包里的batik-transcoder模块,网上的教程引的包太多了,只是转化的话,这个包就够了。你们引用的时候,记得查一下version,之前我引用的包太老了,项目就起不来了。 //pom引入该包 <dependency> <groupId>batik</groupId> <art

  • SVG转PNG – 在线将SVG文档转换成至PNG

  • 概述: SVG 是当今流行的网络图像格式,有时候需要将SVG 转换为png图。因为SVG是矢量图,本身是透明的,因此转换为PNG时,我们也需要它是透明的。 ImageMagick 是一个强大的图像处理工具,其下载地址为:ImageMagick – Download https://imagemagick.org/script/download.php 该工具免费开源,Windows版本下载地址为:

  • javasvg转png图片的方法代码svgToPng:方法可以直接使用public static String svgToPng(String fileName){ try { String svgStr=replaceTxtByStr(fileName+".svg"); byte[] bytes = svgStr.getBytes("utf-8"); PNGTranscoder pngTrans

 相关资料
  • 问题内容: 我在将简单的PNG转换为JPEG格式时遇到问题。我正在使用以下代码: … … 我最后遇到一个JAI异常-> java.lang.RuntimeException:只能写入1或3字节的字节数据。在com.sun.media.jai.codecimpl.JPEGImageEncoder.encode(JPEGImageEncoder.java:148)… 退出选项。有什么建议吗? 问题答案

  • 问题内容: 我环顾四周,阅读文档,没有找到任何方法或解决方案,所以我在这里问。是否有可用的软件包可用于使用Python将JPG图像转换为PNG图像? 问题答案: 为此,您始终可以使用Python图像库(PIL)。可能还会有其他包/库,但是我之前曾用过它来在格式之间进行转换。 这适用于Windows下的Python 2.7(适用于Python 2.7的Python Imaging Library 1

  • 问题内容: 我是python的新手,尝试使用它将GIF的帧拆分为PNG图像。 这是特定于我正在使用的图像还是我做错了什么? 谢谢! 问题答案: 我认为您没有做错任何事情。在此处看到类似的问题:GIF动画问题。看起来好像调色板信息未正确用于以后的帧。以下对我有用:

  • 问题内容: 我有一个从代码生成的点文件,想要在输出中呈现它。为此,我在网上看到命令是这样的 但是我的问题是我想在我的python程序中使用此内置函数。 我该怎么办? 我看着pydot,但似乎找不到答案。 问题答案: pydot无论如何都需要安装GraphViz二进制文件,因此,如果您已经生成了点文件,则不妨直接自己直接调用点。例如:

  • 我正在尝试使用Latex创建PDF文件。但是,Latex不处理TIFF或任何其他能够同时透明和CMYK的图像格式。我认为我可以使用的唯一解决方案是将PNG图像转换为PDF并将其嵌入到文件中。 我对imagemagick有点熟悉,但是,我不知道如何将PNG(可能在RGB/SRGB颜色空间中)转换为CMYK颜色空间中的PDF。 我如何进行这种转换,使颜色正确,透明度保持不变?

  • PX到EM转换器 说明 默认像素大小应为16px。 然后输入px值以转换EM值。 或者,根据要求将em值转换为PX值。

  • 问题内容: 我具有以下功能,可以将PDF转换为一系列图像(每页一个图像): 这可以很好地工作,性能并没有那么快,但这并不重要。我的问题与内存消耗有关。假设我要转换一个较长的PDF(Apple的10-Q,长达51页): 到最后一页的末尾,内存使用量一直增加到〜11GB! 我还注意到一些注意事项: 当我通过Instruments运行此程序时,它出乎意料地显示没有泄漏。两个大记忆猪是和。它们似乎没有在两