Inkscape - 使用带图像作为模式的rect而不是仅使用<img/>时质量损失

时间:2017-12-12 22:41:19

标签: svg png inkscape data-loss

所以基本上我在两个不同版本中使用png图像。首先只需在Inkscape中打开它并将其存储为svg,然后单击“转换为模式”然后存储为svg。第一个在文件中看起来像这样:

 <image
 width="1280"
 height="720"
 preserveAspectRatio="none"
 xlink:href="data:image/png;base64,iVBOR..."
 id="image10"
 x="0"
 y="0" />

和第二个像这样:

<defs
     id="defs6">
    <pattern
       patternUnits="userSpaceOnUse"
       width="1280"
       height="720"
       id="pattern4157">
      <image
         y="0"
         x="0"
         id="image10"
         xlink:href="data:image/png;base64,iVBOR..."
         preserveAspectRatio="none"
         height="720"
         width="1280" />
    </pattern>
  </defs>
  <sodipodi .../>
  <rect
     style="stroke:none;fill:url(#pattern4157)"
     width="1280"
     height="720"
     x="0"
     y="0"
     id="rect4160" />

现在,如果我使用inkscape将两个svg文件导出为png,第一个与源png相同,第二个变得有点模糊,颜色似乎也稍微暗一点,文件大小也从1.7缩小MB到1.3MB。为什么会这样?我怎么能避免这个?

1 个答案:

答案 0 :(得分:0)

这可能与图像的大小有关?您是否检查过第二次转换后的两个文件是否都是相同的像素大小?

话虽这么说,对我来说,使用专为矢量图形设计的Inkscape,将基于像素的图像转换成为矢量图形再次制作的格式时,似乎有点奇怪。