canvas學習 一 動態擴散圓

2021-10-02 14:04:30 字數 1838 閱讀 4454

之前看到乙個用純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揹包問題。資料 物...