2016-10-17 94 views
1

我有這樣的SVG輸出: http://www.angliru.nl/kaftschoon/143/ 原照片是:http://www.angliru.nl/upload/IMG_IX3346.JPG爲什麼圖像在SVG中旋轉?

原照片站着。上傳後照片仍然存在。但是當放置在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> 
+0

作爲一個指針,您可能會絆倒EXIF數據的問題,該數據可能包含方向字段。隨機選擇描述該問題的鏈接 - http://keyj.emphy.de/exif-orientation-rant/ –

+0

看起來像它。我下載了這張照片,用photoshop打開並再次保存。 現在形象正在... –

回答

1

您的問題歸結爲針對原始圖像存儲的EXIF數據。

EXIF - Exchangable image file format - 是與圖像本身相關的一組元數據,與其一起存儲在同一個文件中。該數據可以說是相當全面的,包括例如:

  • 位置的GPS座標
  • 相機硬件
  • 相機設置(ISO等)
  • 方向

正是這種最後一個是你正在絆倒,而在這種情況下,這張照片很有可能是這張照片拍攝時手機被橫着。您的網絡瀏覽器遵守方向設置,並相應地旋轉它;另一方面,SVG處理器忽略它。

這就是「爲什麼」部分處理。

「如何預防」更加複雜,不知道更多關於圖像如何在您的系統中結束的情況下,無法準確回答。

顯然你已經發現把它加載到Photoshop並重新保存已經解決了這個問題(Photoshop刪除了方向標籤),但是對於長期的解決方案,你需要處理你上傳的圖像;諸如Exiftool之類的工具就足夠了。