久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

SVG基礎(chǔ) | SVG坐標(biāo)系統(tǒng)和圖形轉(zhuǎn)換

本文介紹SVG坐標(biāo)系統(tǒng)和各種SVG圖形轉(zhuǎn)換知識(shí)。svg圖形轉(zhuǎn)換包括圖形的縮放,移動(dòng),傾斜和旋轉(zhuǎn)。,HTML5中國,中國最大的HTML5中文門戶。
4.jpg

  SVG坐標(biāo)系統(tǒng)

  坐標(biāo)系統(tǒng)

  一個(gè)普通的笛卡爾坐標(biāo)系統(tǒng)的坐標(biāo)原點(diǎn)(0,0)位于左下角位置,X軸方向上向右是正值,向左是負(fù)值。Y軸方向上向上是正值,向下是負(fù)值。如下圖所示:
2.jpg
  而SVG的坐標(biāo)系統(tǒng)坐標(biāo)原點(diǎn)位于左上角,X軸和笛卡爾坐標(biāo)系的X軸相同,但是Y軸則剛好相反,如果SVG中點(diǎn)或圖形數(shù)值增加時(shí)往下增長(zhǎng),而不是往上。如下圖所示:
3.jpg
  SVG坐標(biāo)系統(tǒng)的單位

  你可以指定在SVG坐標(biāo)系統(tǒng)值1個(gè)單位代表什么。如果你沒有明確的指定單位,將會(huì)使用像素(px)為單位。下面是SVG元素可以使用的單位:

  •   em:默認(rèn)的字體大小,通常一個(gè)字符的高度
  •   ex:字符x的高度
  •   px:像素
  •   pt:點(diǎn)數(shù),1/72英寸
  •   pc:Picas,1/6英寸
  •   cm:厘米
  •   mm:毫秒
  •   in:英寸

  SVG元素轉(zhuǎn)換-TRANSFORM屬性

  SVG元素可以被縮放,移動(dòng),傾斜和旋轉(zhuǎn),就像HTML元素可以使用CSS來轉(zhuǎn)換一樣。但是因?yàn)樽鴺?biāo)系統(tǒng)不同,SVG和HTML元素的轉(zhuǎn)換時(shí)有差別的。

  TRANSFORM屬性

  transform用于在一個(gè)元素上指定一個(gè)或多個(gè)轉(zhuǎn)換效果。它使用一系列預(yù)定義的值作為參數(shù),并按先后順序逐一應(yīng)用到元素上。

  SVG可用的轉(zhuǎn)換有:旋轉(zhuǎn),位移,傾斜和旋轉(zhuǎn)。SVG的transform屬性和CSS的transform相似,但是它們的參數(shù)不同。

  矩陣

  你可以在一個(gè)SVG元素上通過matrix()函數(shù)來應(yīng)用一個(gè)或多個(gè)轉(zhuǎn)換。矩陣轉(zhuǎn)換的語法是:
  1. matrix(<a> <b> <c> <d> <e> <f>)           
復(fù)制代碼
  上面的聲明指定包含6個(gè)參數(shù)的矩陣變換。matrix(a,b,c,d,e,f)相當(dāng)于matrix [a b c d e f]。
 
  位移

  要移動(dòng)一個(gè)SVG元素,你可以使用translate()函數(shù)。位移的語法是:
  1. translate(<tx> [<ty>])   
復(fù)制代碼

  translate()函數(shù)可以帶一個(gè)或兩個(gè)參數(shù),分別用于表示水平或垂直的位移。

  ty參數(shù)是可選的,如果沒有指定,它默認(rèn)是0。tx和ty參數(shù)可以使用空格隔開,也可以使用逗號(hào)隔開,還有它們不需要使用單位。它們的單位使用的是用戶坐標(biāo)系統(tǒng)的單位。

  下面的例子將一個(gè)SVG元素向右移動(dòng)100個(gè)用戶單位,向下移動(dòng)300個(gè)用戶單位。
  1. <circle cx="0" cy="0" r="100" transform="translate(100 300)" />  
復(fù)制代碼
  上面的轉(zhuǎn)換代碼也可以寫為:translate(100, 300),使用逗號(hào)隔開參數(shù)。

  縮放

  你可以使用scale()函數(shù)來縮放SVG元素。縮放的語法是:
  1. scale(<sx> [<sy>])      
復(fù)制代碼

  scale()函數(shù)可以帶一個(gè)或兩個(gè)參數(shù),分別表示水平或垂直方向上的縮放。

  sy參數(shù)是可選值,如果沒有指定,它等于sx的值。sx和sy參數(shù)可以使用空格或逗號(hào)隔開。并且它們是無單位的數(shù)字。

  下面的例子將一個(gè)SVG元素放大到原來尺寸的2倍。
  1. <rect width="150" height="100" transform="scale(2)" x="0" y="0" />               
復(fù)制代碼

  下面的例子將SVG元素水平方向放大2倍,垂直方向縮小一半。
  1. <rect width="150" height="100" transform="scale(2 0.5)" x="0" y="0" />         
復(fù)制代碼

  同樣,我們可以使用逗號(hào)來分隔scale()函數(shù)的參數(shù),上面的代碼可以寫為:scale(2, .5)。

  這里要注意:當(dāng)一個(gè)SVG元素被縮放的時(shí)候,整個(gè)當(dāng)前坐標(biāo)系統(tǒng)也會(huì)被同時(shí)縮放,導(dǎo)致元素會(huì)在viewport中被重新定位。

  傾斜

  一個(gè)SVG元素也可以被傾斜。要傾斜一個(gè)SVG元素,你需要使用skewX或skewY函數(shù)。語法如下:
  1. skewX(<skew-angle>)
  2. skewY(<skew-angle>)        
復(fù)制代碼

  skewX函數(shù)指定元素繞X旋轉(zhuǎn),skewY函數(shù)指定元素繞Y軸旋轉(zhuǎn)。

  旋轉(zhuǎn)角度使用的是一個(gè)無單位的角度值,默認(rèn)單位是度(degrees)。

  注意,元素傾斜也可能會(huì)是元素在viewport中重新定位。

  旋轉(zhuǎn)

  你可以使用rotate()函數(shù)來旋轉(zhuǎn)一個(gè)SVG元素。語法如下:
  1. rotate(<rotate-angle> [<cx> <cy>])   
復(fù)制代碼

  rotate()函數(shù)通過rotate-angle來指定旋轉(zhuǎn)角度。于CSS轉(zhuǎn)換中的 rotation 不同,你不能為旋轉(zhuǎn)角度指定單位,只能使用度(degrees)為單位。角度值使用的是無單位的數(shù)字,默認(rèn)單位為:度。

  cx和cy為可選參數(shù),用于代表旋轉(zhuǎn)的中心點(diǎn)。如果沒有提供cx和cy值,那么旋轉(zhuǎn)的中心點(diǎn)位于當(dāng)前用戶坐標(biāo)系統(tǒng)的原點(diǎn)。

  在rotate()函數(shù)中指定中心點(diǎn)就像在CSS中設(shè)置transform: rotate()和transform-origin的簡(jiǎn)寫方式。由于SVG默認(rèn)的旋轉(zhuǎn)中心點(diǎn)位于當(dāng)前用戶坐標(biāo)系統(tǒng)的左上角(坐標(biāo)原點(diǎn)),你創(chuàng)建的旋轉(zhuǎn)效果可能不是你需要的,這時(shí)你就需要指定一個(gè)新的旋轉(zhuǎn)中心點(diǎn)。如果你知道元素的尺寸和位置,你就可以非常容易的為它指定一個(gè)旋轉(zhuǎn)中心點(diǎn)。

  下面的例子在當(dāng)前用戶坐標(biāo)系統(tǒng)中將一組SVG元素繞(50,50)中心點(diǎn)旋轉(zhuǎn)45度。
  1. <g id="parrot" transform="rotate(45 50 50)" x="0" y="0">
  2.     ......
  3. </g>   
復(fù)制代碼
  在CSS中,你想讓一個(gè)元素繞它的中心旋轉(zhuǎn),可以指定旋轉(zhuǎn)中心點(diǎn)為50% 50%,但是在SVG rotate()中不可以這樣做。你必須使用絕對(duì)坐標(biāo)系統(tǒng)。

  本文版權(quán)屬于jQuery之家,轉(zhuǎn)載請(qǐng)注明出處:http://www.htmleaf.com/ziliaoku/ ... g/201506202075.html

【網(wǎng)站聲明】本站除付費(fèi)源碼經(jīng)過測(cè)試外,其他素材未做測(cè)試,不保證完整性,網(wǎng)站上部分源碼僅限學(xué)習(xí)交流,請(qǐng)勿用于商業(yè)用途。如損害你的權(quán)益請(qǐng)聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。

相關(guān)文檔推薦

由于實(shí)際運(yùn)行環(huán)境是在瀏覽器中,因此性能還取決于JavaScript解釋器的效率,指定的FPS幀速在低性能解釋器中可能不會(huì)達(dá)到,所以這部分不是開發(fā)者能夠決定的,開發(fā)者能作的是盡可能通
本文將使用HTML5提供的VideoAPI做一個(gè)自定義的視頻播放器,需要用到HTML5提供的video標(biāo)簽、以及HTML5提供的對(duì)JavascriptAPI的擴(kuò)展。,HTML5中國,中國最大的HTML5中文門戶。
隨著 Hybrid 應(yīng)用的豐富,HTML5 工程師們已經(jīng)不滿足于把桌面端體驗(yàn)簡(jiǎn)單移植到移動(dòng)端,他們覬覦移動(dòng)原生應(yīng)用人性化的操作體驗(yàn),特別是原生應(yīng)用與生俱來的豐富的手勢(shì)系統(tǒng)。HTML5 沒有提
你想要在自己網(wǎng)站上分享一個(gè)產(chǎn)品,或者是一個(gè)作品集,又或者僅僅只是一個(gè)靈感。在你發(fā)布到網(wǎng)上之前,你想讓它看起來有吸引力,專業(yè),或者至少得看起來像那么回事。那么你接下
H5廣告,包括H5廣告的設(shè)計(jì)流程,究竟有什么講究,和階段。為了能幫助更多的人了解H5廣告,我專門做了一個(gè)講義。同時(shí),也讓我意外的收到了非常好反饋和認(rèn)!這是對(duì)我的極大鼓勵(lì)!我的
本文主要內(nèi)容有:框架與組件、構(gòu)建生態(tài)、開發(fā)技巧與調(diào)試、html、css與重構(gòu)、native/hybrid/桌面開發(fā)、前端/H5優(yōu)化、全棧/全端開發(fā)、研究實(shí)驗(yàn)、數(shù)據(jù)分析與監(jiān)控、其它軟技能、前端技術(shù)網(wǎng)
主站蜘蛛池模板: 精品国产一二三区 | 亚洲网站在线播放 | 亚洲色欲色欲www | www.日日干| 天天色综网 | 欧美日韩国产一区二区三区 | 久久免费电影 | 精彩视频一区二区三区 | 91色在线视频 | 久久久精品网 | 拍真实国产伦偷精品 | 日本黄色激情视频 | 永久av| 久久精品一二三影院 | 久久aⅴ乱码一区二区三区 91综合网 | 毛片黄片免费看 | 三级特黄特色视频 | 免费看黄色视屏 | 日韩在线一区二区三区 | 99久久精品一区二区毛片吞精 | 国产片侵犯亲女视频播放 | 日韩精品一区二区不卡 | 最近日韩中文字幕 | 在线免费观看日本 | 91麻豆精品国产91久久久资源速度 | 伊人春色成人网 | 全免费a级毛片免费看视频免费下 | 欧美日韩视频一区二区 | 特黄特色大片免费视频观看 | 亚洲精品久久久9婷婷中文字幕 | 久久久久久久久久久久久九 | 日本字幕在线观看 | www.五月天婷婷.com | 99精品一区二区 | 99久久电影| a级毛片毛片免费观看久潮喷 | 欧美性生活视频 | 日韩中文一区二区三区 | 91精品国产综合久久婷婷香蕉 | 91精品国产综合久久久久久丝袜 | 午夜看看 |