canvas手机端绘图解决方案
解決方案js:https://pan.baidu.com/s/1jIys2aU
我們使用canvas通常會(huì)遇到一個(gè)問(wèn)題就是坐標(biāo)系的問(wèn)題,如果按象限來(lái)說(shuō),一般canvas是在第四象限,但是我們通常都喜歡在第一象限來(lái)計(jì)算,第二個(gè)問(wèn)題是手機(jī)端用canvas繪圖很粗糙,這個(gè)在上一章節(jié)也說(shuō)過(guò),今天就根絕這兩個(gè)問(wèn)題,寫一個(gè)解決方案:
首先我們html里面的canvas要這么寫:<canvas id="myCanvas" width="750" height="750" layoutwidth="750" ></canvas>其中l(wèi)ayoutwidth是表示canvas設(shè)計(jì)稿的寬度(一般都是按照蘋果6的設(shè)計(jì)稿,寬度是750),width和height屬性表示在750的設(shè)計(jì)稿中canvas的實(shí)際寬高(建議閱讀本章前,先了解手機(jī)下rem的使用,本解決方案參考了rem的解決方案),然后引入我寫的js后,var myCanvas = new carvasCloth("myCanvas"),然后就可以繪圖了,我是這樣使用的 把我寫的解決方案js作為一個(gè)基類,然后另寫一個(gè)針對(duì)特定業(yè)務(wù)的js繼承這個(gè)基類,然后再這個(gè)特定的js里面實(shí)現(xiàn)具體的繪圖操作
this.gY 是一個(gè)方法,返回的是按照第一象限下y的坐標(biāo),比如說(shuō)我想畫一個(gè)點(diǎn){x:10,y:10}你如果直接畫,那是按照第四象限來(lái)畫的,這樣寫:{x:10,y:this.gY(10)}就是按照第一象限來(lái)了
this.gYAdd 有時(shí)候我想計(jì)算兩個(gè)已經(jīng)計(jì)算的坐標(biāo)的相加值,this.gYAdd(this.gY(10),this.gY(20))
this.gYsubtract?有時(shí)候我想計(jì)算兩個(gè)已經(jīng)計(jì)算的坐標(biāo)的相減值,this.gYsubtract(this.gY(10),this.gY(20))
this.gX 返回是X的坐標(biāo)
this.gW返回單位寬度內(nèi)的實(shí)際寬度 this.gW(1)表示在畫布內(nèi)一單位寬度的實(shí)際寬度
轉(zhuǎn)載于:https://www.cnblogs.com/mrzhu/p/6762605.html
總結(jié)
以上是生活随笔為你收集整理的canvas手机端绘图解决方案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: MyEclipse+Tomcat+MAV
- 下一篇: 闭包(匿名函数) php