之前看到乙個用純canvas製作漸變色擴散圓的部落格,感覺效果挺好的,應該能用在地圖上用作效果展示,就拿過來重新寫了一下。主要將原帖中建構函式的方法改為了類,以及去掉了隨機生成圓心位置的陣列。
原帖為:
下面是我自己的**:
<
!doctype html>
"en"
>
"utf-8"
>
"viewport" content=
"width=device-width, initial-scale=1.0"
>
"x-ua-compatible" content=
"ie=edge"
>
擴散圓<
/title>
<
/head>
"box" style=
"width:600px;height:600px;border:2px solid #000;background:#000;"
>
//獲取div標籤儲存canvas
let canvaslist = document.
getelementbyid
('box');
//建立canvas畫布並設定屬性
let canvas = document.
createelement
('canvas');
canvas.width =
600;
canvas.height =
600;
//將canvas新增到div列表中
canvaslist.
(canvas)
;let context=canvas.
getcontext
("2d");
//解構賦值方法定義變數
let[width, height, radius]=[
600,
600,0]
class
circle
//畫圓
drawcircle()
//圓的半徑變化
getradius()
}}//例項化函式
function
createcircles()
;// 建立臨時canvas
let backcanvas = document.
createelement
('canvas'),
backctx = backcanvas.
getcontext
('2d');
backcanvas.width = width;
backcanvas.height = height;
//設定主canvas的繪製透明度
context.globalalpha =
0.95
;//顯示即將繪製的影象,忽略臨時canvas中已存在的影象
backctx.globalcompositeoperation =
'copy'
;let
render
=function()
;//設定動畫時間
setinterval
("render()",14
);<
/script>
<
/div>
<
/body>
<
/html>效果:
gif為licecap製作,簡單好用。
Cesium動態圓擴散效果
專案中需要顯示事件發生點的動態效果,在網上找到的特效在高層建築模型中會有問題,所以自己花時間弄了乙個,效果還不錯!高畫質 材質類 function ellipsoidfadematerialproperty color,duration object.defineproperties ellipso...
CESIUM例子學習(一) 動態模型載入
一直在學習cesium,時斷時續地用它,但感覺 不對,什麼都了解一點,但什麼沒有深入地去研究,都是浮於表面。於是下定決心 從頭開始,從cesium的sandcastle例子開始,系統地學一下cesium。並把它記錄下來,以便後面用時能很快找到。把基本框架搭起來之後,就開始第乙個例子。如下圖 發動機葉...
演算法之一動態規劃
問題描述 給定n種物品和一揹包。物品i的重量是wi,其價值為vi,揹包的容量為c。問應如何選擇裝入揹包的物品,使得裝入揹包中物品的總價值最大?對於一種物品,要麼裝入揹包,要麼不裝。所以對於一種物品的裝入狀態可以取0和1.我們設物品i的裝入狀態為xi,xi 0,1 此問題稱為0 11揹包問題。資料 物...