我一直在这个问题上停留了一段时间。基本上,我有一堆svg图像。 svg文件中的每个“孩子”都被标记了一些像素值。目前这个值的数量非常小,一切都被标记为rgb(0.0,0.0,0.0),rgb(1.0,1.0,1.0)... rgb(9.0,9.0,9.0),所以基本上我有10种不同的类型的像素。在不改变像素值的情况下将svg转换为png
现在,我想将这些图像转换为png格式,更重要的是我需要像素值的映射为1比1。实质上,在svg文件中所有具有值rgb(0.0,0.0,0.0)的像素在png文件中需要具有值rgb(x,x,x)(或甚至更好的L(x));在svg文件上的rgb(1.0,1.0,1.0)需要在png文件(或甚至更好的L(y))上转换为rgb(y,y,y)等等。这个一对一的映射对我的应用来说是一个破坏者,因为这实际上是我工作的基本事实。
通过在控制台中简单地写:
convert test.svg test.png
不给我我想要的东西。检查值的历史图,似乎我有248个独特的值而不是10个,这对我并不好(尽管绝大多数只有几个像素)。
有谁知道:
- 如果可以做到这一点。
- 这是如何做到的。
我已经尝试使用其他库,如Python的cairosvg,但似乎工作更糟。是的,我知道svg和png是完全不同的格式。
为了清楚起见,添加SVG和PNG文件:
SVG:https://drive.google.com/open?id=0B_vhcDz1zxeYeGVDSnhfeWplOWs
PNG:https://drive.google.com/open?id=0B_vhcDz1zxeYUnYzZUtIUmVqVWM
打开在Python文件,似乎有248独特的像素值,同时有应该只有4个(背景+三个符号)。
谢谢!
我认为你需要更具体一些,实际上是展示一个文件,而不是抽象地谈论*“children”*,'L'和'x'以及*“像素类型”*,尤其是考虑到' svg'文件甚至没有像素。 –
没有看到你的测试文件,我只能猜测你正在看到一个缩放效果,其中从SVG数据点插入PNG像素。 –
公平点,我加了一个svg文件,和相应的png文件。 @MarkSetchell – TheRevanchist