我正在尋找一種方法來在畫布上「生活」繪製矩形或圓圈。Javascript畫布繪製矩形或圓圈
我發現用fillRect()
來繪製矩形,但沒有生活的各種方式。我的意思是,能夠在一點上將mouseDown()
移動到畫布中的另一個點上,畫布定義畫布的大小,就像例如在Microsoft Paint,OneNote等中一樣。
任何人都可以幫助我,並告訴我如何開始?我可能會想對如何做到這一點的方式,沒有看到矩形(或圓形)的尺寸變化,是這樣的:
$("canvas").mousedown(function(event){
var ctx = this.getContext("2d");
ctx.clearRect(0,0,$(this).width(),$(this).height());
var initialX = event.clientX - this.getBoundingClientRect().left;
var initialY = event.clientY - this.getBoundingClientRect().top;
$(this).mousemove(function(evt) {
ctx.strokeRect(initialX, initialY, evt.clientX - event.clientX, evt.clientY - event.clientY);
});
});
但我想現場觀看,所以矩形的大小如何變化的時候,用戶移動鼠標。
使用'window.requestAnimationFrame()'經常刷新畫布 – frozen
@ randnum-1和?你的意思是每隔50ms重繪一次畫布或像'setInterval()'中的那樣,直到'mouseUp'? – nameless
我假設你想要像這樣的東西https://jsfiddle.net/jk607fqn/3/在畫布上單擊以繪製紅色方塊 – slackOverflow