1

目前我们有一个要求,我们有一个描绘商场蓝图的图像(红色指定预订区域,白色指定可用区域)并且图像以光栅 (JPEG) 格式提供。

我们想将一些图标拖放到图像的可用区域(白色)。还应该为上面的图像提供放大和缩小功能

由于 JPEG 具有有损缩放,因此在一定限制后缩放可能会导致图像出现锯齿状。一种建议的解决方案是将图像转换为 SVG(可缩放矢量图形)。

使用 SVG 的扩展形式,它简单地告诉我们图像是:

s=> 可缩放(即您可以缩放到任何级别而不会影响质量)

v=>矢量化(即坐标可用)

fill=red因此,通过简单地查看图像的 XML 格式,我们可以预测是否允许将对象放置fill=white在图像中红色和白色是两种颜色的位置。这可能不是合适的解决方案,但我只是这样猜测

现在我看到这种方法的问题是:

  1. 使用一些开源工具 (InkSpace) 转换图像 - 如果我们使用 ink-space 跟踪它,它使用内部的 portace 来跟踪图像,它只能处理黑白颜色。

注意-:大多数工具都带有一些许可证。

inkspace 的问题在于它将图像嵌入到 SVG 地图中并且不创建坐标。如果您使用墨水空间跟踪它,它只会创建图像的轮廓。

  1. 使用一些在线实用程序进行转换 - 在我们的案例中不推荐,但这样做会导致 SVG 图像尺寸过大。对于 700 KB 的文件,生成的 SVG 约为 39 MB,在浏览器上打开时会导致浏览器崩溃。

大多数情况下,当图像转换为 SVG 时,它会变得太大而令人担忧。有可用的实用程序,如 Gzip 来压缩文件,但这是一种双向途径 - 首先转换,然后压缩。

  1. 使用delinate(其中使用了 portace 和 autotrace 引擎) - 生成的图像质量不好。

  2. 使用 Java 代码 - 质量再次受到影响。Java 图形尚未完全开发以处理转换(尺寸再次太大)

  3. 将图像转换为 PDF,然后转换为 SVG - 这也将图像嵌入到 SVG 文件中,这是无用的,因为没有可用的坐标

有没有人对此有任何想法,如何处理这种情况?,我们可以处理光栅(jpeg,png...等)图像本身的拖放吗?

谢谢迪尚阿南德

4

0 回答 0