gpt4 book ai didi

ruby-on-rails - 如何在 Ruby 中将 SVG 字符串转换为文件或 PNG?

转载 作者:数据小太阳 更新时间:2023-10-29 06:58:45 27 4
gpt4 key购买 nike

我正在从浏览器 (Javascript) 向运行 Rails (Ruby) 的服务器发送一个 SVG 字符串。我想将此字符串转换为具有透明度的 PNG,或者至少转换为 SVG 文件,以便稍后进行转换

有什么想法吗?我安装了 RMagick,但我仍然不确定如何从字符串创建文件。

还有其他解决方案吗?

想法是动态创建简单的“ Logo ”

最佳答案

使用 RMagick,只需使用 Image.from_blob 将字符串读入图像实例+ defining the SVG format

require "RMagick"

svg_string='
<svg xmlns="http://www.w3.org/2000/svg" width="120" height="120" viewPort="0 0 120 120" version="1.1">
<rect width="150" height="150" fill="rgb(0, 255, 0)" stroke-width="1" stroke="rgb(0, 0, 0)" />
<line x1="20" y1="100" x2="100" y2="20" stroke="black" stroke-width="2"/>
</svg>'

img = Magick::Image.from_blob(svg_string) {
self.format = 'SVG'
self.background_color = 'transparent'
}
img.write "example_out.png"

How to convert SVG string to file or PNG in Ruby

编辑

如果字符串只是一个 SVG 路径,则可以使用 Magick::Draw.path 来“重建”矢量图形。文档和示例 here .

关于ruby-on-rails - 如何在 Ruby 中将 SVG 字符串转换为文件或 PNG?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30602775/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com