vue實(shí)現(xiàn)canvas刮獎(jiǎng)

var canvas = document.getElementById('canvas') // 獲取元素
        canvas.width = '560'
        canvas.height = '244'
        var img = new Image()
        img.src = require('../img/mask.png') // 默認(rèn)的背景圖片
        var ctx = canvas.getContext('2d') // 生成畫布
        img.onload = function() {
          ctx.drawImage(img, 0, 0)
          ctx.globalCompositeOperation = 'destination-out' // 橡皮擦
        }
        // ctx.strokeStyle = '#FDF5EA' // 線的顏色
        let pos = 0, // 手指總共劃過的距離
          x = 0, // x軸走過的距離
          y = 0 // y軸走過的距離
        ctx.beginPath() // 開始
        ctx.lineWidth = 120  // 線的寬度
        var canvaL = canvas.getBoundingClientRect().left //
        var canvaT = canvas.getBoundingClientRect().top  // 160是margin-top的距離
        var _this = this
        function bodyScroll(event) { // 默認(rèn)事件 點(diǎn)擊canvas時(shí)屏幕不跳動(dòng)
          event.preventDefault();
        }

        let startX = 0, // 手指開始的位置
          startY = 0,
          moveX = 0, // 手指移動(dòng)的位置
          moveY = 0,
          num = 0 // 用他來做數(shù)據(jù)請求的條件
        canvas.ontouchstart = function (e) {
          // 手指按下位置
          startX = e.touches[0].pageX
          startY = e.touches[0].pageY
          ctx.moveTo(startX - canvaL, startY - canvaT) // 線條開始
          document.body.addEventListener('touchmove', bodyScroll, false);

        }

        canvas.ontouchmove = function (e) {
          // 手指移動(dòng)位置
          moveX = e.touches[0].pageX
          moveY = e.touches[0].pageY
          ctx.lineTo(moveX - canvaL, moveY - canvaT) // 線條到達(dá)位置
          // 計(jì)算手指移動(dòng)的距離
          x = (startX - moveX)
          y = (startY - moveY)
          pos += Math.abs(x)
          pos += Math.abs(y)
          num++
          if (num === 1) {
            _this.shaveData() // 數(shù)據(jù)請求
          }
          ctx.stroke() // 結(jié)束
        }
        canvas.ontouchend = function (e) {
          ctx.stroke() // 結(jié)束
          document.body.removeEventListener('touchmove', bodyScroll, false);
          // 手指抬起的位置
          let endX = startX - e.changedTouches[0].pageX,
          endY = startY - e.changedTouches[0].pageY
          if (pos >= 3000) {
            _this.state = 4
            _this.$refs.canvas.style.zIndex = '-20'
            _this.$refs.canvas.style.visibility = 'hidden'
            canvas.width = canvas.width
            canvas.height = canvas.height
            ctx.lineWidth = 120
            var img = new Image()
            img.src = require('../img/mask.png')
            img.onload = function () {
              ctx.drawImage(img, 0, 0)
              ctx.globalCompositeOperation = 'destination-out';
            }

            pos = 0
            x = 0
            y = 0
            num = 0
          }
        }

實(shí)現(xiàn)的效果就是其實(shí)就是用橡皮擦擦掉了一個(gè)圖層 把你需要的信息房在下面 這樣就
能刮出東西來了

倉庫地址

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末抓韩,一起剝皮案震驚了整個(gè)濱河市披泪,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌假褪,老刑警劉巖歼疮,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件杂抽,死亡現(xiàn)場離奇詭異,居然都是意外死亡韩脏,警方通過查閱死者的電腦和手機(jī)缩麸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來赡矢,“玉大人杭朱,你說我怎么就攤上這事〈瞪ⅲ” “怎么了弧械?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長空民。 經(jīng)常有香客問我刃唐,道長,這世上最難降的妖魔是什么界轩? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任画饥,我火速辦了婚禮,結(jié)果婚禮上浊猾,老公的妹妹穿的比我還像新娘荒澡。我一直安慰自己,他們只是感情好与殃,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布单山。 她就那樣靜靜地躺著碍现,像睡著了一般。 火紅的嫁衣襯著肌膚如雪米奸。 梳的紋絲不亂的頭發(fā)上昼接,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天,我揣著相機(jī)與錄音悴晰,去河邊找鬼慢睡。 笑死,一個(gè)胖子當(dāng)著我的面吹牛铡溪,可吹牛的內(nèi)容都是我干的漂辐。 我是一名探鬼主播,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼棕硫,長吁一口氣:“原來是場噩夢啊……” “哼髓涯!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起哈扮,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤纬纪,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后滑肉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體包各,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年靶庙,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了问畅。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,977評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡六荒,死狀恐怖护姆,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情恬吕,我是刑警寧澤签则,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布须床,位于F島的核電站铐料,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏豺旬。R本人自食惡果不足惜钠惩,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望族阅。 院中可真熱鬧篓跛,春花似錦、人聲如沸坦刀。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至沐寺,卻和暖如春林艘,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背混坞。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工狐援, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人究孕。 一個(gè)月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓啥酱,卻偏偏與公主長得像,于是被迫代替她去往敵國和親厨诸。 傳聞我的和親對象是個(gè)殘疾皇子镶殷,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,927評論 2 355

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

  • 從一本琴譜過渡到另一本琴譜的時(shí)候,總是你感覺最受挫的時(shí)候泳猬。早晨批钠,我在陽臺,聽見你坐在鋼琴前得封,不停反復(fù)的練習(xí)一首你已...
    陳明珠6063閱讀 209評論 0 0
  • 一埋心、配置文件1、/etc/group:存儲當(dāng)前系統(tǒng)中的所有用戶組信息 Group: x ...
    Timothy_lai閱讀 157評論 0 0
  • 第 11 題:單項(xiàng)選擇題(本題1分) 水頭在20m左右的倒虹吸管宜采用()忙上。 A:混凝土管 B:鋼筋混凝土管 C:...
    曹永泉閱讀 1,458評論 0 0