【问题标题】:svg+xml file format: what determines dpi?svg+xml 文件格式:什么决定了 dpi?
【发布时间】:2014-06-10 04:02:55
【问题描述】:

我使用 InkSkape (Ubuntu) 从头开始​​创建了一个新文档。我选择了“A0”作为页面大小(所有预定义的页面大小都以 mm 显示,无论您选择什么单位作为“默认单位”;但是,如果您定义了自定义页面大小,您可以选择单位)。

我将它保存为“Inkscape SVG”和“plain SVG”,它们都是 XML。

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

那么,841mm 等于 2979.9211 像素是在哪里定义的呢? 这会产生 90 dpi,但在 XML 中的任何地方都没有提到它(据我所知)。该密度是由 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>

这里是“inkscape SVG”:

<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>

【问题讨论】:

    标签: xml svg dpi


    【解决方案1】:

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

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

    【讨论】:

    • 而且不能在文档中更改?
    • Inkscape 0.92:默认分辨率从 90dpi 更改为 96dpi,以匹配 CSS 标准。
    猜你喜欢
    • 1970-01-01
    • 2011-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-05
    • 1970-01-01
    • 1970-01-01
    • 2016-06-12
    相关资源
    最近更新 更多