日韩欧美人妻无码精品白浆,www.大香蕉久久网,狠狠的日狠狠的操,日本好好热在线观看

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

用canvas實(shí)現(xiàn)一個(gè)刮刮卡效果

admin
2024年10月30日 13:27 本文熱度 1647


先看上面的效果,這是常見的刮刮卡抽獎(jiǎng)效果,那么前端如何使用代碼實(shí)現(xiàn)這樣的效果呢?主流方案是采用canvas來實(shí)現(xiàn)。


首先要實(shí)現(xiàn)這種效果,核心是要知道canvasglobalCompositeOperation屬性,這個(gè)屬性的作用是控制canvas上不同圖層之間的顯示效果。

這里我們需要使用到globalCompositeOperationdestination-out屬性,這個(gè)屬性描述的效果是,當(dāng)新圖層繪制到原始圖層上時(shí)候,原始圖層保持在新圖層不重疊的部分,僅保留現(xiàn)有畫布內(nèi)容和新形狀不重疊的部分。


有了這個(gè)效果之后,我們只需要將要顯示的東西放置在canvas后面就可以了,至于刮刮卡的效果,就是在 mosemove事件里面,動(dòng)態(tài)繪制透明的圖層到 canvas 上就好了。


代碼如下:

<!DOCTYPE html>
<html>
  <head>
      <meta charset="utf-8">
      <title></title>
      <style type="text/css">
          body,html {
              width: 100%;
              height: 100%;
              display: flex;
              align-items: center;
              justify-content: center;
          }
          .box {
              user-select: none;
              position: relative;
              border: 2px solid #333;
              width: 400px;
              height: 120px;
              font-size: 50px;
              line-height: 120px;
              text-align: center;
          }
          #myCanvas {
              position: absolute;
              top: 0;
              left: 0;
          }
      </style>
  </head>
  <body>
      <div class="box">
          恭喜您,中獎(jiǎng)了
          <canvas id="myCanvas" width="400px" height="120px"></canvas>
      </div>
  </body>
  <script type="text/javascript">
      const canvas = document.getElementById('myCanvas');
      const ctx = canvas.getContext('2d');
      ctx.fillStyle = '#ccc';
      ctx.fillRect(0, 0, 400, 120);
      ctx.globalCompositeOperation = "destination-out";
      canvas.onmousedown = function() {
          canvas.onmousemove = function(event) {
              ctx.beginPath();
              ctx.arc(event.offsetX, event.offsetY, 16, 0, 7, false);
              ctx.fill();
          }
      }

      document.body.onmouseup = function() {
          canvas.onmousemove = null;
      }
  </script>
</html>

arc(x, y, r, startAngle, endAngle, anticlockwise): 

以(x, y) 為圓心,以r 為半徑,從 startAngle 弧度開始到endAngle弧度結(jié)束。

anticlosewise 是布爾值,true 表示逆時(shí)針,false 表示順時(shí)針(默認(rèn)是順時(shí)針)。

注意:這里的度數(shù)都是弧度;0 弧度是指的 x 軸正方向。


該文章在 2024/10/30 15:13:15 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲(chǔ)管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

精品国产乱码久久久久久1区2匹| 国产一区h| 操了亚洲丝袜美女视频| 欧美第一区在线| 日韩av中文字幕一区二区三区不卡| 一区二区3qu精品| 国产精品现拍自拍| 十八岁美女黄色高潮| 欧美老熟妇多水多毛| 日韩精品H| 激情久久久久久性| 日韩夫妻一区二区性生活黄色片 | 黄AV在线播| 日b网站免费版国产日b| 590女教师一区二区香椎| 91在线看精品| 久久夜靖品| 91后入大少妇| 99久日韩| 红桃国产欧美精品| 久久国产精品伦理视频| 欧美日韩性爰视频| 人妻多毛丰满熟妇av无码| 免费久久看大片| 欧美poren国产| 成人 精品 91| 国产女同精品亚洲| 日韩欧美国产一区经典| 久久国产色精品视频| 176日本视频二区| 国产Av成人久久一区 | 久久大香香蕉国产免费网站| 色婷婷精品综合影院| 国产精品九九九九| 一区二区99| 日韩色婷婷丝袜番号| 女生高潮国产视频| 日韩无码视频小说免费| 成人久久国产免费福利| 人与嘼在线观看国产黄| 欧美激情爆乳国产精品一区二区 |