svg + xml文件格式:什么决定了dpi?

时间:2014-06-09 17:36:40

标签: xml svg dpi

我已经从头开始使用InkSkape(Ubuntu)创建了一个新文档。我选择了" A0"作为页面大小(所有预定义页面大小以mm显示,无论您选择哪个单位"默认单位&#34 ;;但是如果您定义自定义页面大小,则可以选择单位。)

我把它保存为" Inkscape SVG"和"普通的SVG"这两者都是XML。

在这两种情况下,生成的XML文件(空文档)仅定义PIXELS中文档的宽度和高度(即4212.9922 by 2979.9211),并且无论如何都没有提及DPI密度或文件大小以毫米或英寸为单位或任何其他现实生活"单元。

那么,在哪里定义841mm等于2979.9211像素? 那是90 dpi,但在XML中没有提到它(据我所知,decypher)。该密度是由svg标准确定的,还是根据标准可能是默认密度(可以设置不同的密度),或者是Inkscape程序的任意假设(在这种情况下,读取文件的任何其他软件可能假设任何其他不同的密度)?

这是"普通SVG":

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->

<svg
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:cc="http://creativecommons.org/ns#"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:svg="http://www.w3.org/2000/svg"
   xmlns="http://www.w3.org/2000/svg"
   version="1.1"
   width="4212.9922"
   height="2979.9211"
   id="svg2">
  <defs
     id="defs4" />
  <metadata
     id="metadata7">
    <rdf:RDF>
      <cc:Work
     rdf:about="">
    <dc:format>image/svg+xml</dc:format>
    <dc:type
       rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
    <dc:title></dc:title>
      </cc:Work>
    </rdf:RDF>
  </metadata>
  <g
     transform="translate(0,1927.5591)"
     id="layer1" />
</svg>

这是&#34; inkscape SVG&#34;:

    

<svg
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:cc="http://creativecommons.org/ns#"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:svg="http://www.w3.org/2000/svg"
   xmlns="http://www.w3.org/2000/svg"
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   width="4212.9922"
   height="2979.9211"
   id="svg2"
   version="1.1"
   inkscape:version="0.48.4 r9939"
   sodipodi:docname="empty.svg">
  <defs
     id="defs4" />
  <sodipodi:namedview
     id="base"
     pagecolor="#ffffff"
     bordercolor="#666666"
     borderopacity="1.0"
     inkscape:pageopacity="0.0"
     inkscape:pageshadow="2"
     inkscape:zoom="0.35"
     inkscape:cx="489.28571"
     inkscape:cy="2462.8571"
     inkscape:document-units="mm"
     inkscape:current-layer="layer1"
     showgrid="false"
     inkscape:window-width="1072"
     inkscape:window-height="663"
     inkscape:window-x="211"
     inkscape:window-y="27"
     inkscape:window-maximized="0"
     units="mm" />
  <metadata
     id="metadata7">
    <rdf:RDF>
      <cc:Work
     rdf:about="">
    <dc:format>image/svg+xml</dc:format>
    <dc:type
       rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
    <dc:title></dc:title>
      </cc:Work>
    </rdf:RDF>
  </metadata>
  <g
     inkscape:label="Layer 1"
     inkscape:groupmode="layer"
     id="layer1"
     transform="translate(0,1927.5591)" />
</svg>

1 个答案:

答案 0 :(得分:1)

根据这个developer question,他们选择的可能是因为他们认为它在SVG规范中这么说但是这不正确,因为SVG规范说使用CSS 2.1并且说它是96 DPI(72 / 0.75) )

如果Inkscape开发人员不知道或不记得那么我猜它就是这样: - )