image-processing - 如何将 SVG 图像 "paths"转换为单独的 PNG 图像?

标签 image-processing svg imagemagick librsvg rsvg

我有一个包含 67 个独立路径的 SVG 图像。

是否有任何库/教程可以为每个路径创建单独的光栅图像(例如 PNG),并可能根据路径 ID 命名它们?

最佳答案

谢谢大家。我最终使用了两个答案的组合。我使用 Ruby 脚本来解析 SVG 文件并为每个路径编写一个新文件,然后使用 batik 转换器从该文件生成一个 png。 Nick 得到了公认的答案,因为创建单个 SVG 很容易这一关键见解。谢谢尼克!

这是脚本:

require 'rubygems'
require 'nokogiri'
file = 'dark_florida_no_numbers.svg'

file_string = IO.read(file)

reader = Nokogiri::XML::Reader(file_string)

reader.each do |node|

  if node.name == 'path'
    county = node.attributes['id']
    File.open("dark/#{county}.svg", 'w') do |f|
      f.write "<svg xmlns:svg=\"http://www.w3.org/2000/svg\" xmlns=\"http://www.w3.org/2000/svg\" version=\"1.0\" >\n  <path "
      node.attributes.each do |attr, value|
        f.write " #{attr}=\"#{value}\""
      end
      f.write "/>\n</svg>"
    end
    `java -jar b/batik-rasterizer.jar dark/#{county}.svg`
  end
end

关于image-processing - 如何将 SVG 图像 "paths"转换为单独的 PNG 图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1787707/

相关文章:

imagemagick - 使用 Image Magick 识别 profile-icc

opencv - HomographyBasedEstimator 和 findHomography OpenCV 之间的区别

python - 如何使用 scipy 执行具有亚像素精度的图像互相关

html - AngularJS ng-href 和 svg xlink

javascript - 如何使 svg 填充物在 Angular 上动态变化

.net - 使用PowerShell将具有特定尺寸的图像文件列表作为文件对象获取

tensorflow - 使用机器学习去除手写签名图像中的背景

php - 将内置颜色配置文件应用于图像

javascript - 根据鼠标位置旋转 SVG 渐变

php - Imagemagick 无法读取文件 (MAMP)