SVG格式圖片的放大

Burning1108發表於2017-03-05

SVG是一種向量格式圖片,即可以無損放縮,其儲存的是影像中每個元素的定義,如方塊、橢圓等。越來越多的網站採用SVG格式來表達圖表。但是SVG格式並不能像png、jpj那樣直接拖拽防縮,但只要稍微修改原始碼即可。
以筆者關注的敘利亞戰爭形勢圖為例(額。。竟然不支援svg格式的顯示)。雖然是無損儲存但拖拽視窗沒法放大,細節根本看不清。
https://en.wikipedia.org/wiki/Syrian_Civil_War#/media/File:Syrian_Civil_War_map.svg
這裡寫圖片描述
用vscode開啟圖片來看看原始碼。vscode是微軟出的傻瓜式編輯器,視覺化的安裝各種外掛,雖然可能還沒有sublime或notepad++方便,但非常容易上手。

<?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"
   xmlns:xlink="http://www.w3.org/1999/xlink"
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   version="1.1"
   width="983.28534"
   height="812.71039"
   viewBox="0 0 921.83003 761.916"
   id="Syria_1_"
   xml:space="preserve"
   inkscape:version="0.91 r13725"
   sodipodi:docname="wewbadmnap3.svg"
   inkscape:export-filename="C:\Users\Christine\Downloads\Rumala.png"
   inkscape:export-xdpi="350"
   inkscape:export-ydpi="350"><sodipodi:namedview

這裡只擷取了程式碼的頭部,當然我們所關注的也就是頭部。svg段是主要的顯示引數定義
width,height控制顯示在螢幕的面積,改變會防縮影像、viewBox表示顯示向量相對座標被顯示在螢幕的範圍
如果原圖是長a,寬b的,則擷取其中viewBox的部分,拉伸放在width,height所定義的螢幕區域中
一般來說只用修改width和height。只要簡單粗暴的在width = “983.28534”
 height = “812.71039”
 的數值上前面加個1,變成width=”1983.28534”
 height=”1812.71039”
就足夠了,再用瀏覽器開啟就可以看細節了,如果不夠清晰還可以繼續調數值。這裡不用擔心會變形,如果放大後和邊框不匹配會自動留白的。
這裡寫圖片描述

相關文章