Jpeg到Svg和图像追踪

时间:2013-10-23 03:20:20

标签: java svg raster

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

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

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

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

  

s =>可扩展(即您可以在不影响质量的情况下缩放到任何级别)

     

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

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

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

  1. 使用某些开源工具(InkSpace)转换图像 - 如果我们使用墨水空间跟踪它,它使用内部的portace来跟踪图像,它只能处理黑白颜色。
  2. 注意:大多数工具都带有一些许可证。

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

    1. 使用某些在线工具转换它 - 在我们的示例中不推荐使用,但这样做会导致SVG图像的大小。对于700 KB文件,生成的SVG大约为39 MB,在浏览器上打开时会崩溃浏览器。
    2. 大多数情况下,当图像转换为SVG时,它变得太大而无法担心。有像Gzip这样的工具可以压缩文件,但这是一条双向路线 - 首先你转换,然后压缩。

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

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

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

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

        由于 Dishant Anand

0 个答案:

没有答案