为什么图像在SVG中旋转?

时间:2016-10-17 08:38:48

标签: svg rotation

我有这个SVG输出: http://www.angliru.nl/kaftschoon/143/ 原始照片为:http://www.angliru.nl/upload/IMG_IX3346.JPG

原始照片是站着的。上传后照片仍然存在。但是当放置在SVG中时,照片会侧向旋转。 为什么?以及如何预防呢?我在那个人上挠头。

   <svg version="1.1" id="Laag_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
    width="447" height="833"
viewBox="265 90 311.9 495.3" enable-background="new 0 0 841.9 595.3" xml:space="preserve">
<g>
    <defs>
        <pattern id="img1" patternUnits="userSpaceOnUse" width="842" height="595">
            <image xlink:href="http://www.angliru.nl/upload/IMG_IX3346.JPG" x="0" y="0"
                width="842" height="595" style="max-width:842px; max-height: 595px; min-width: 842px; min-height: 595px;" />
        </pattern>
    </defs>
    <path d="M549.9,476.2c-3.3,0-6.1,0-8.9,0c-15.2,0-30.3-0.1-45.5,0.1c-2.3,0-5,1.3-6.8,2.9c-3.6,3-6.7,6.5-10,9.8
        c-3.2,3.1-6.4,3.3-9.5,0c-0.1-0.1-0.3-0.2-0.3-0.4c-7.5-11.2-18.1-13.6-31-12.6c-13.6,1-27.3,0.1-41,0.3c-2,0-4.4,1.1-6,2.5
        c-3.5,3-6.6,6.6-10,9.8c-3.9,3.7-7.1,4.1-10.1-0.1c-7.9-10.9-18.3-13.5-31.1-12.5c-12.8,1-25.6,0.2-38.5,0.1
        c-0.3,0-0.6-0.2-1.5-0.6c0-11.7,0-23.6,0-35.6c0-7.7,0.3-15.3-0.1-23c-0.1-2.3-1.4-5-3-6.8c-3.7-4.3-8-8-11.9-12.1
        c-3.7-3.9-3.6-6.3,0.1-10.2c0.2-0.2,0.4-0.5,0.7-0.7c12.3-8.5,16.2-20,14.5-34.8c-1.3-11,0-22.3-0.3-33.4c-0.1-2.4-1.3-5.1-2.9-7
        c-3.9-4.9-8.4-9.4-12.6-14.2c-2.5-2.9-2.3-5.6,0.5-8.3c4.1-3.9,8.3-7.7,12-12c1.6-1.8,2.8-4.6,2.8-7c0.2-16.7,0.2-33.3,0-50
        c0-2.2-1.2-4.8-2.6-6.5c-3.7-4.5-7.9-8.6-11.9-12.8c-3.5-3.8-3.4-6,0.2-9.8c2.4-2.5,4.5-5.5,7.2-7.6c6.8-4.9,7.6-11.5,7.4-19.3
        c-0.4-15.8-0.1-31.6-0.1-47.7c7.3,0,14.4,0,21.5,0c10.8,0,21.6,0.2,32.5,0.1c1.1,0,2.5-0.7,3.3-1.6c4.4-4.5,8.6-9.3,13-13.8
        c4.2-4.3,6.9-4.2,11-0.1c5.1,4.9,9.5,11.8,15.7,14.3c6.2,2.5,14.1,0.6,21.3,0.7c10.5,0,21,0.3,31.5,0c2.5-0.1,5.4-1.4,7.3-3
        c4-3.5,7.5-7.6,11.2-11.4c4.6-4.6,7.2-4.7,11.8-0.2c2.3,2.2,4.9,4.2,6.7,6.7c5,7.1,11.9,8.4,19.9,8.3c12.7-0.3,25.3,0,38,0
        c1.5,0,2.9,0,5.2,0c0,10.7,0,21,0,31.3c0,8.7-0.3,17.3-0.1,26c0,1.8,1.2,3.9,2.5,5.3c4,4.2,8.3,8.1,12.5,12.3c3.2,3.2,3,6.4,0,9.7
        c-1.5,1.6-2.8,3.3-4.6,4.6c-8.7,6.2-11.1,14.5-10.5,25c0.8,13.5,0.2,27,0.5,40.5c0,1.9,1,4.2,2.3,5.6c3.8,4.2,7.9,8.1,11.9,12.1
        c4,4,3.9,7,0,11.1c-2,2-3.7,4.4-6,6c-7.4,5.1-8.8,12.2-8.5,20.7c0.6,14.3-0.1,28.7,0.1,43c0,2.2,1.3,4.7,2.8,6.4
        c3.8,4.4,8.1,8.3,12.1,12.6c2.7,2.9,2.6,6-0.2,8.9c-3.7,3.8-7.4,7.6-11.3,11.3c-2.5,2.3-3.4,4.9-3.3,8.3
        C550,436.7,549.9,456.1,549.9,476.2z"
        fill="url(#img1)" />
</g>
</svg>

1 个答案:

答案 0 :(得分:1)

您的问题归结为针对原始图像存储的EXIF数据。

EXIF - Exchangable image file format - 是一组与图像本身相关的元数据,与其一起存储在同一文件中。数据可以非常全面,例如:

  • 位置的GPS坐标
  • 相机硬件
  • 相机设置(ISO等)
  • 取向

这是你绊倒的最后一个,而且在这种情况下很可能在拍摄这张照片时手机被侧向晃动。您的Web浏览器遵循“方向”设置,并相应地旋转它;另一方面,SVG处理器忽略了它。

&#34;为什么&#34;部分处理。

&#34;如何预防&#34;更复杂,并且在不了解图像如何在您的系统中结束的情况下,它无法准确回答。

显然,您已经发现将其加载到Photoshop并重新保存已解决了问题(Photoshop已删除了方向标记),但对于较长期的解决方案,您需要处理上传的图像;像Exiftool这样的工具就足够了。