黑白 PNG 转 SVG

2024-05-06

我有一个河流/土地掩码来区分土地与河流/湖泊。该文件的大小为(W)43,200x(H)21,600。

由于 RAM 立即填满,因此无法打开该文件。我已将文件分成 3600*3600 块,它们可以正常打开。然而,我试图在谷歌地图中绘制陆地上的文件,系统在覆盖图像时仍然会变慢。

我想知道是否有办法将 3600*3600 PNG 图像传输到 SVG,但只为黑白颜色之间的边界创建矢量。理论上这会减小文件的大小。

我目前正在尝试制作 SVG 文件,但文件大小大约为 1GB。它不会在 linux (eog) 中加载文件,并且在覆盖 Google 地图时不会加载。

任何帮助,将不胜感激 :)


根据您的图像,您可以使用以下方法来执行此操作potrace and ImageMagick。假设您的初始图像是PNG像这样的文件:

您可以使用ImageMagick使之成为PBM设置图像格式,例如potrace更喜欢,然后将其变成SVG像这样:

convert river.png pbm:- | potrace - -s -o river.svg

The SVG文件大小约为文件大小的一半PNG。如果有人喜欢往里面看SVG文件,它看起来像这样:

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
 "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
 width="3000.000000pt" height="2000.000000pt" viewBox="0 0 3000.000000 2000.000000"
 preserveAspectRatio="xMidYMid meet">
<metadata>
Created by potrace 1.11, written by Peter Selinger 2001-2013
</metadata>
<g transform="translate(0.000000,2000.000000) scale(0.100000,-0.100000)"
fill="#000000" stroke="none">
<path d="M4554 16821 c-3 -3 -114 -6 -247 -7 -395 -4 -437 -5 -467 -14 -17 -5
-32 -5 -34 -1 -5 8 -136 8 -151 -1 -5 -3 -53 -6 -106 -6 -53 0 -113 -5 -135
-11 -21 -5 -76 -11 -121 -13 -46 -1 -83 -5 -83 -8 0 -8 -3 -8 -107 -14 -45 -3
-102 -10 -125 -17 -24 -7 -72 -13 -108 -15 -71 -3 -90 -7 -134 -23 -16 -7 -31
-9 -34 -6 -3 2 -11 0 -19 -6 -10 -9 -13 -8 -13 0 0 7 -4 10 -9 6 -5 -3 -31 -8
...
...
-63 -3 -164 -1 -197 4 -18 3 -35 2 -38 -3 -4 -7 -62 -6 -178 3 -21 1 -41 -1
-43 -5 -2 -3 -39 -4 -82 -1 -129 8 -152 8 -152 1 0 -4 -21 -5 -47 -3 -91 8
-135 10 -139 6z"/>
</g>
</svg>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

黑白 PNG 转 SVG 的相关文章

  • 是否可以使用谷歌地图从坐标获取地址?

    我只是好奇 也许是为了未来的项目 我想知道是否可以通过 Google API 从给定坐标检索地址 是的 只需使用 Google 地理编码和 Places APIhttps developers google com maps documen
  • 在 D3 中在外部加载的 svg 图形上绘图

    我已经从 svg 文件加载了外部图形 我想尝试在其上绘图 但不知道如何操作 我的简单 d3 代码在这里
  • 如何以 JavaScript 编程方式获取旋转的 svg 文本边界

    我正在动态渲染 SVG 图像并创建旋转文本 如果旋转的文本与其他文本重叠 我需要删除该文本 但我无法测量旋转的文本来创建边界并检查下一个标签文本区域 我创建了 3 个 SVG 元素来解释 SVG 1 显示重叠的文本 SVG 2 显示重叠的旋
  • 检测 SVGAnimatedString 的类名

    我在构建 SVG 地图时遇到问题 触发的功能 g 上的 onmouseover 不起作用 我当时用的 window onmouseover function e console log e target className 查看类名是否有问
  • Google 地图第二次无法加载 - AngularJS

    我正在使用 GoogleMap API angular google maps js 包 并且我有一个非常奇怪的行为 The first time I load it i get the full map loaded like here
  • 2 个 SVG 路径的交集

    我需要检查两个 SVG Path 元素是否相交 检查边界框与 getBBox 太不准确了 我目前正在做的是迭代两条路径 getTotalLength 然后检查是否有两个点 getPointAtLength 是平等的 下面是一个片段 但正如您
  • SVG 在 Firefox 中渲染得很糟糕

    我正在制作带有滑动轮播的信息图表 li 我认为 尽管 FF 中 SVG 的错误已得到解决 但 SVG 在 Firefox 中显示为像素化 有人能看到这个问题的解决办法吗 URL http weaver wp weavertest com r
  • 图像魔法叠加图像

    我有两个图像 一个是叠加图像 比如说具有透明度的图像 A 另一个是图像 B 我必须将叠加图像 A 放在图像 B 上 以便通过图像 A 的透明部分可以看到图像 B 的某些部分 我还必须根据一些参数移动图像B 我怎样才能用image magic
  • 限制在三角形内

    我正在寻找一段通用代码 javascript 它可以与 jquery UI 一起使用来限制三角形内 div 的移动 拖动 与此类似 http stackoverflow com questions 8515900 how to constr
  • 使用 ImageMagick 和/或 GhostScript 将多页 PDF 转换为多个 JPG

    我正在尝试将多页 PDF 文件转换为一堆 JPEG PDF 中的每一页一个 我花了几个小时寻找如何做到这一点 最终我发现我需要安装 Ghostscript 所以我就这么做了 来自这个网站 http downloads ghostscript
  • Google 地图 InfoBubble PixelOffset(从标记上方的默认位置移动)

    我正在尝试实现一个自定义 infoBubble 它的框打开到标记的侧面 而不是顶部的默认位置 事实证明这比预期的要困难 使用普通的infoWindow 您可以使用pixelOffset 请参阅此处文档 https developers go
  • 底部带有三角形的 div 和背景图像

    我想做一个div 有一个底部的三角形 但我需要三角形上的背景图像为了出现 我尝试使用伪元素 after 但它不起作用 homebg after content position absolute top 100 left 0 right 0
  • isLocationOnEdge 公差计算(以公里为单位)

    我正在使用谷歌地图地图API位置在边缘 var isLocationNear google maps geometry poly isLocationOnEdge latlng new google maps Polyline path g
  • 在 Java 中使用 Batik 检查和删除 SVG 中的属性

    这个问题基本上说明了一切 如何检查 SVG 是否具有 viewBox 属性 我正在使用蜡染库 我需要这个 因为我需要 至少 通知用户有一个 viewBox 属性 我可以删除它吗 使用 org w3c dom 类 您可以按照以下方式做一些事情
  • 地图路由,像谷歌地图一样吗?

    我一直对地图路由很感兴趣 但我从未找到任何好的入门 甚至高级 级别的教程 有人有任何指示 提示等吗 Update 我主要寻找有关如何实现地图系统 数据结构 算法等 的指导 看看开放街道地图项目 http www openstreetmap
  • JavaFX:将像素写入 PixelWriter 的最快方法

    我正在寻找最快的方式来写入像素javafx scene image Image 写信给BufferedImage的后备数组要快得多 至少在我制作的测试图像上 只花了大约 20 毫秒BufferedImage WritableImage另一方
  • GeoJson 世界数据库 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在开发一个项目 需要使用 d3 js 显示国家和城市的地图 实际上 D3支持GeoJson格式 通常
  • Google 地图 API:忽略 DirectionService 请求中的季节性限制

    我目前正在开发一张地图 其中显示两点之间的最短路线 使用不同的交通工具 我注意到 有时 例如在冬季关闭的道路不会被考虑在内 我发现我可以使用方向服务 下面的代码 忽略高速公路 收费站和渡轮 但我一生都无法弄清楚如何 是否可以忽略季节性限制
  • 谷歌地图 v3 API 鼠标悬停在多边形上?

    我正在使用 google v3 api 构建地图 因为它更快 本质上 它是一张包含约 30 个城市的区域地图 这些区域上有多边形 当用户将鼠标悬停在城市上时 我希望 fillColor 变亮 然后在鼠标移开时返回到正常状态 当用户单击时 它
  • Google 地图 API -> OpenGLES 崩溃

    日志是从 Crashlytics 粘贴的 对于许多用户来说 崩溃经常发生 据我所知 它与设备 iOS 版本无关 我在我的代码中找不到任何错误 这似乎是纯粹的库问题 是 Google 地图 API 错误吗 我可以做些什么来修复它 或者我应该在

随机推荐