gpt4 book ai didi

c# - 如何在服务器上转换内联 SVG?

转载 作者:太空宇宙 更新时间:2023-11-04 14:53:25 25 4
gpt4 key购买 nike

我需要将生成的内联 SVG 设置为某个其他元素上的 background-image,如图所示 in this example .由于这仅适用于 Chrome,因此我需要一些其他方法来将客户端绘制的 SVG 设置为 background-image

另一个可能更简单的内联 SVG,是 RaphaelJS 演示 seen here .

<svg height="480" version="1.1" width="640" xmlns="http://www.w3.org/2000/svg" style="overflow: hidden; position: relative; top: -0.90625px;"><desc style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">Created with Raphaël 2.1.0</desc><defs style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></defs><rect x="0" y="0" width="640" height="480" r="10" rx="10" ry="10" fill="#ffffff" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><circle cx="320" cy="240" r="60" fill="#223fa3" stroke="#000000" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); stroke-opacity: 0.5;" stroke-width="80" stroke-opacity="0.5"></circle></svg>

是否可以将服务器上的内联 SVG(由 RaphaelJS 在客户端创建)转换为“真实的”SVG 文件?这是一个 Windows (.NET/c#) 服务器环境,转换应该在该环境中进行。

编辑

正如 Robert Longson 注意到我遗漏了 charset= 并且看起来我使用了错误的函数 (encodeURI) 来编码内联 SVG。

为了完整起见,这里的代码片段用于设置对我有用的background-image

var svgUrl = 'url("data:image/svg+xml;charset=utf8,' + encodeURIComponent($('#raphaelPaper').html()) + '")';
$('#pictureDummy').css('background-image', svgUrl);

最佳答案

它只适用于 Chrome,因为你的数据 URL 是 invalid .应该是这样开始的……

data:image/svg+xml;charset=utf8,%3Csvg

您缺少 charset= 部分。您可能会考虑将其报告为 blink bug .

这是一个 corrected version

关于c# - 如何在服务器上转换内联 SVG?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17188456/

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