麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

canvas繪制愛心的幾種方法總結(jié)(推薦)

2019-11-19 15:01:36
字體:
供稿:網(wǎng)友

第一種方法


代碼實現(xiàn)的一種方法

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>使用桃心形方程繪制愛心</title></head><body> <canvas></canvas> <script> var canvas = document.querySelector('canvas'); var ctx = canvas.getContext('2d'); canvas.width = window.innerWidth; canvas.height = window.innerHeight; var Heart = function(x, y) {  this.x = x;  this.y = y;  this.vertices = [];  for(let i=0; i<30; i++) {  var step = i / 30 * (Math.PI * 2);//設(shè)置心上面兩點之間的角度,具體分成多少份,好像需要去試。  var vector = {   x : (15 * Math.pow(Math.sin(step), 3)),   y : -(13 * Math.cos(step) - 5 * Math.cos(2 * step) - 2 * Math.cos(3 * step) - Math.cos(4 * step))  }  this.vertices.push(vector);  } } Heart.prototype.draw = function() {  ctx.translate(-1000,this.y);//這一步跟ctx.shadowOffsetX必須一起使用,不明白為啥?  ctx.beginPath();  for(let i=0; i<30; i++) {  var vector = this.vertices[i];  ctx.lineTo(vector.x, vector.y);  }  ctx.shadowColor = "red";  ctx.shadowOffsetX = this.x+1000;  ctx.fill(); } canvas.onmousedown = function(e) {  var x = e.offsetX;  var y = e.offsetY;  var heart = new Heart(x, y);  heart.draw(); } </script></body></html>

代碼里面有兩處地方不明白 ctx.translate(-1000,this.y); ctx.shadowOffsetX = this.x+1000; 能感覺出來什么意思,但是不知道為啥要加上,去掉就不行了。請路過的各位大佬們幫忙解答一下~~

以上這篇canvas繪制愛心的幾種方法總結(jié)(推薦)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 老a影视网站在线观看免费 国产精品久久久久久久久久尿 | 成年免费看 | 羞羞羞网站| h视频免费在线 | 亚洲精久| 双性精h调教灌尿打屁股的文案 | 国产午夜探花 | 91短视频在线播放 | 激情宗合网 | 免费a级毛片永久免费 | 欧美日韩在线视频一区 | 亚洲xxx在线观看 | 久久经典视频 | 国产中文av在线 | 666sao| 欧美精品激情视频 | 成人午夜免费国产 | 色视频在线观看 | 欧美日韩亚洲不卡 | 久久亚洲国产精品 | 国产精品免费在线 | 久久一区三区 | 成人短视频在线播放 | 一级成人欧美一区在线观看 | 最新中文在线视频 | 98国内自拍在线视频 | 日韩视频在线不卡 | www.91tv| 国产精品一区网站 | 视频一区国产精品 | 人人玩人人爽 | 色婷婷一区二区三区 | 国产手机av在线 | 春光影院理论片 | 国产免费永久在线观看 | 欧美日韩一区,二区,三区,久久精品 | 免费黄色欧美视频 | 亚洲第一成人在线观看 | 欧美性猛交一区二区三区精品 | 毛片一级片 | 亚洲一区二区三区精品在线观看 |