進(jìn)入SVG

SVG-簡(jiǎn)單示例

code

rect


code

circle


code

ellipse


code

line


code

polyline


code

polygon


code

填充、描邊雏蛮、變換

基本操作API

  • 創(chuàng)建圖形
document.createElementNS(ns, tagName)
  • 添加圖形
element.appendChild(childElement)
  • 設(shè)置/獲取屬性
element.setAttribute(name, value)
element.getAttribute(name)

svg綜合運(yùn)用的小例子svg-editor

SVG的世界、視野阱州、視窗

定義

  • 世界就是無(wú)限大的,無(wú)窮無(wú)盡
  • 視野是coder編寫的所有的代碼
  • 視窗瀏覽器開辟出來(lái)用于渲染SVG內(nèi)容的一個(gè)區(qū)域
  • code中所設(shè)置的寬高都是設(shè)置在視窗上的

描述

  • SVG代碼-定義世界
  • width,height-控制視窗[看世界的一扇窗戶]挑秉,
  • viewBox,preserveAspectRatio-控制視野[我們能看到世界大小的一種能力]
    視野越廣闊,看到的內(nèi)容越豐富苔货,單個(gè)物體的內(nèi)容越小犀概,跟屏幕分辨率一個(gè)道理
    理想情況下立哑,視野和視窗有一樣的尺寸
    不一樣的情況,就需要填充策略preserveAspectRatio
<svg xmlns="..."
width="800" height="600" viewBox="0 0 400 300" preserveAspectRatio="xMidYMid meet">
<!--SVG Content-->
</svg>

視窗

g演變過(guò)程

錘子-1


SVG中的圖形分組

  • <g>標(biāo)簽來(lái)創(chuàng)建分組
  • 屬性繼承
  • transform屬性定義坐標(biāo)變換
  • 可以嵌套使用

    錘子-2

svg坐標(biāo)系

4個(gè)坐標(biāo)系

  • 用戶坐標(biāo)系(User Coordinate)
    世界的坐標(biāo)系


  • 自身坐標(biāo)系(Current Coordinate)
    每個(gè)圖形元素或分組獨(dú)立與生俱來(lái)


  • 前驅(qū)坐標(biāo)系(Previous Coordinate)
    父容器的坐標(biāo)系


  • 參考坐標(biāo)系(Reference Coordinate)
    使用其它坐標(biāo)系來(lái)考究自身的情況時(shí)使用


坐標(biāo)變換

線性變換

旋轉(zhuǎn)

縮放

線性變換列表

transform屬性

  • 前驅(qū)坐標(biāo)系:父容器坐標(biāo)系
  • transform屬性:定義前驅(qū)坐標(biāo)系到自身坐標(biāo)系的線性變換
  • 語(yǔ)法:
rotate(<deg>)
translate(<x>,<y>)
scale(<sx>,<sy>)
matrix(<a>,<b>,<c>,<d>,<e>,<f>)


調(diào)色面板

在SVG中應(yīng)用顏色

<rect fill="rgb(255,0,0)" opacity="0.5" />
<rect stroke="hsla(0,50%,60%,0.5) />"

線性漸變

  • <linearGradient>和<stop>
  • 定義方向
  • 關(guān)鍵點(diǎn)位置及顏色
  • gradientUnits

    code

    使用自身的坐標(biāo)
<svg xmlns="http://www.w3.org/2000/svg" width="400" height="350">
  <defs>
    <linearGradient id="grad1" gradientUnits="userSpaceOnUse" x1="0" y1="0" x2="1" y2="1">
      <stop offset="0" stop-color="#1497FC" />
      <stop offset="0.5" stop-color="#A469BE" />
      <stop offset="1" stop-color="#FF8C00" />
    </linearGradient>
  </defs>
  <rect x="100" y="100" fill="url(#grad1)" width="200" height="150" />
</svg>

<svg xmlns="http://www.w3.org/2000/svg" width="400" height="350">
  <defs>
    <linearGradient id="grad1" gradientUnits="userSpaceOnUse" x1="100" y1="100" x2="150" y2="150">
      <stop offset="0" stop-color="#1497FC" />
      <stop offset="0.5" stop-color="#A469BE" />
      <stop offset="1" stop-color="#FF8C00" />
    </linearGradient>
  </defs>
  <rect x="100" y="100" fill="url(#grad1)" width="200" height="150" />
</svg>

code

徑向漸變

  • <radialGradient>和<stop>
  • 定義方向
  • 關(guān)鍵點(diǎn)位置及顏色
  • gradientUnits
  • 焦點(diǎn)位置

    code
<svg xmlns="http://www.w3.org/2000/svg" width="400" height="350">
  <defs>
    <radialGradient id="grad2" cx="0.5" cy="0.5" r="0.5" fx="0.6" fx="0.3">
      <stop offset="0" stop-color="rgb(20,151,252)" />
      <stop offset="0.5" stop-color="rgb(164,105,190)" />
      <stop offset="1" stop-color="rgb(255,140,0)" />
    </radialGradient>
  </defs>
  <rect x="100" y="100" fill="url(#grad2)" width="200" height="150" />
</svg>

筆刷

  • 繪制紋理
  • <pattern>標(biāo)簽
  • patternUnits和patternContentUnits
<svg xmlns="http://www.w3.org/2000/svg" width="1000" height="500">
  <defs>
    <pattern id="p1" x="0" y="0" width="0.2" height="0.2">
      <circle cx="10" cy="10" r="5" fill="red"></circle>
      <polygon points="30 10 60 50 0 50" fill="green"></polygon>
    </pattern>
  </defs>
  <rect x="100" y="100" fill="url(#p1)" width="800" height="300" stroke="blue" />
</svg>

code


項(xiàng)目代碼

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末姻灶,一起剝皮案震驚了整個(gè)濱河市铛绰,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌产喉,老刑警劉巖捂掰,帶你破解...
    沈念sama閱讀 222,183評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異曾沈,居然都是意外死亡这嚣,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門晦譬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)疤苹,“玉大人,你說(shuō)我怎么就攤上這事敛腌∥酝粒” “怎么了?”我有些...
    開封第一講書人閱讀 168,766評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵像樊,是天一觀的道長(zhǎng)尤莺。 經(jīng)常有香客問(wèn)我,道長(zhǎng)生棍,這世上最難降的妖魔是什么颤霎? 我笑而不...
    開封第一講書人閱讀 59,854評(píng)論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮涂滴,結(jié)果婚禮上友酱,老公的妹妹穿的比我還像新娘。我一直安慰自己柔纵,他們只是感情好缔杉,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著搁料,像睡著了一般或详。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上郭计,一...
    開封第一講書人閱讀 52,457評(píng)論 1 311
  • 那天霸琴,我揣著相機(jī)與錄音,去河邊找鬼昭伸。 笑死梧乘,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的庐杨。 我是一名探鬼主播宋下,決...
    沈念sama閱讀 40,999評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼嗡善,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了学歧?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,914評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤各吨,失蹤者是張志新(化名)和其女友劉穎枝笨,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體揭蜒,經(jīng)...
    沈念sama閱讀 46,465評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡横浑,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了屉更。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片徙融。...
    茶點(diǎn)故事閱讀 40,675評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖瑰谜,靈堂內(nèi)的尸體忽然破棺而出欺冀,到底是詐尸還是另有隱情,我是刑警寧澤萨脑,帶...
    沈念sama閱讀 36,354評(píng)論 5 351
  • 正文 年R本政府宣布隐轩,位于F島的核電站,受9級(jí)特大地震影響渤早,放射性物質(zhì)發(fā)生泄漏职车。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評(píng)論 3 335
  • 文/蒙蒙 一鹊杖、第九天 我趴在偏房一處隱蔽的房頂上張望悴灵。 院中可真熱鬧,春花似錦骂蓖、人聲如沸积瞒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)赡鲜。三九已至,卻和暖如春庐船,著一層夾襖步出監(jiān)牢的瞬間银酬,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工筐钟, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留揩瞪,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,091評(píng)論 3 378
  • 正文 我出身青樓篓冲,卻偏偏與公主長(zhǎng)得像李破,于是被迫代替她去往敵國(guó)和親宠哄。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評(píng)論 2 360

推薦閱讀更多精彩內(nèi)容

  • 使用XML描述的矢量文件W3C標(biāo)準(zhǔn)(1.1):http://www.w3.org/TR/SVG11/瀏覽器支持情況...
    沒(méi)汁帥閱讀 6,002評(píng)論 0 16
  • SVG 學(xué)習(xí)筆記 SVG是什么 SVG 指可伸縮矢量圖形 (Scalable Vector Graphics) S...
    Penn_Xu閱讀 988評(píng)論 0 1
  • 什么是SVG嗤攻? SVG 指可伸縮矢量圖形 (Scalable Vector Graphics) SVG 用來(lái)定義用...
    hojun閱讀 888評(píng)論 0 5
  • 一:什么是SVG毛嫉? 對(duì)于SVG的定義如下: ①:SVG 指的是可伸縮矢量圖形 (Scalable Vector G...
    GreenHand1閱讀 810評(píng)論 0 1
  • 這里沒(méi)有專業(yè)技術(shù)闯团,沒(méi)有專業(yè)設(shè)備辛臊,沒(méi)有專業(yè)的照片。房交。彻舰。啥都沒(méi)有,只有一部手機(jī)候味,一個(gè)天真爛漫的小朋友刃唤,一個(gè)業(yè)余...
    yanzio燕子窩閱讀 233評(píng)論 0 1