我想尝试将jpg / pngs转换为与原始图像至少几乎相同的svgs。我发现将jpg / png转换为svg的能力很少,但我找到了很多svg到jpg / png转换器。我发现的结果使得输出看起来很卡通。左下方是jpg,右边是来自该jpg的“转换”svg文件。
基于这种缺乏信息,我认为这是一项艰巨的任务。
但是从编程的角度来看,为什么“完美地”将位图转换为向量是如此困难?
提出了哪些挑战?
我理解我需要将位图转换为矢量,但是有什么特别的东西可以用来克服这种扭曲的输出吗?
如果我尝试这样的任务,哪种编程语言最好?
谢谢!
答案 0 :(得分:2)
SVG与形状有关,而不是像素 重建例如。你的照片中的草,无数细微的绿色,你基本上需要找到内部相同颜色的形状边框。
这就是问题所在:草地上没有像方形等一样干净的均匀颜色的形状。您要么接受较低的质量(使大部件成为同一种绿色,而不是重新创建原始草),要么需要多种形状的1x1尺寸:再次是像素。
答案 1 :(得分:0)
是的,这是可能的。通常,包括绘制线条,圆形等的图元的矢量图形格式也可以包括表示为像素值序列的图像。
请注意,当您编写“完美转换”时,您的意思是逐个像素。然后,问题是¿svg格式是否包含图像像素像素作为图元? SVG是一种非常完整的格式。
如果您想要一个非常简单的示例,其中包括从jpg到svg的转换,请查看此库:
https://sourceforge.net/projects/libboard/
这是一个非常简单易用的c ++库。
答案 2 :(得分:0)
让我补充一点,通过将每个像素变成SVG原语,您创建了可以想象的位图图像效率最低的表示。 SVG文件将是巨大的!