【问题标题】:How do I convert an SVG image to a standard image format such as PNG or JPEG?如何将 SVG 图像转换为标准图像格式,例如 PNG 或 JPEG?
【发布时间】:2015-10-18 18:37:54
【问题描述】:
 <svg width="360" height="180">
     <circle class="little" cx="234.14618999697268" cy="13.068148791790009" r="12" fill="#e7d59e"></circle>
     <circle class="little" cx="315.8937894925475" cy="12.226657052524388" r="12" fill="#c85768"></circle>
     <circle class="little" cx="320.8564972691238" cy="133.00350899342448" r="12" fill="#bc63de"></circle>
 </svg>

假设我有像上面这样的 SVG 数据。有什么方法可以将其转换为 JPEG 或 PNG 等图像格式?我可以以在 IE8 中工作的方式在 PHP 或 Javascript 中执行此操作吗?

【问题讨论】:

标签: javascript php image svg


【解决方案1】:

您可以使用https://github.com/gabelerner/canvg 或类似的库将svg 绘制到画布上,然后使用canvas.getImageData() 或canvas.toDataURL() 分别以像素数组或base64 字符串形式获取实际图像。不需要 PHP,但你可以忘记 IE8(每个人都应该忘记它)。

【讨论】:

  • 我真的很想忘记 IE8,但我的客户需要它才能在 IE8 中运行,所以我别无选择
  • 那么你几乎别无选择,只能在服务器端进行(参见上面@JulianBerger 的评论)
猜你喜欢
  • 1970-01-01
  • 2017-05-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-06
  • 2019-07-20
  • 1970-01-01
相关资源
最近更新 更多