HTML+js,如何实现拖动鼠标绘制一个矩形,鼠标拖动矩形还可以移动位置?双击可以消失

JavaScript013

HTML+js,如何实现拖动鼠标绘制一个矩形,鼠标拖动矩形还可以移动位置?双击可以消失,第1张

第一段是画板代码。第二段是拖动和点击的代码

想画之后再拖动好麻烦,我地方法只能是记住画的矩形坐标之后判断鼠标点击点再坐标内

就拖动画板,太麻烦了,如果找到好的方法贴出来。

<!DOCTYPE HTML>

<html>

<head>

<meta charset="utf-8" />

<style>

*{margin: 0padding: 0}

canvas{background: #fff}

</style>

<body>

<canvas width=1200 height=800></canvas>

<script>

var oC = document.getElementsByTagName('canvas')[0]

var gd = oC.getContext('2d')

gd.beginPath()

oC.onmousedown = function(ev){

gd.moveTo(ev.pageX,ev.pageY)

oC.onmousemove = function(ev){

gd.lineTo(ev.pageX,ev.pageY)

console.log(ev.pageX,ev.pageY)

gd.strokeStyle = "red"

gd.stroke()

}

oC.onmouseup = function(){

oC.onmousemove = null

oC.onmouseup = null

}

ev.preventDefault()

}

</script>

</body>

</html>

=============================

<!DOCTYPE HTML>

<html>

<head>

<meta charset="utf-8" />

<style>

*{margin: 0padding: 0}

div{width: 100pxheight: 100pxbackground: redposition: absolutetop: 0left: 0cursor: pointer}

</style>

</head>

<body>

<div></div>

<script>

var oDiv = document.getElementsByTagName('div')[0]

oDiv.onmousedown = function(ev){

var oEvent = ev || event

var disX = oEvent.pageX - oDiv.offsetLeft

var disY = oEvent.pageY - oDiv.offsetTop

document.onmousemove = function(ev){

var oEvent = ev || event

var l = oEvent.pageX - disX

var t = oEvent.pageY - disY

oDiv.style.top = t + 'px'

oDiv.style.left = l + 'px'

}

document.onmouseup = function(){

document.onmousemove = null

document.onmouseup = null

}

}

oDiv.ondblclick = function(){

oDiv.style.display = 'none'

}

</script>

</body>

</html>

你的问题比较笼统,我试着回答一下

画板分类大致3种,一是木制画板(较好的一般用椴木)特点是软硬适中,适合素描一类的硬笔做画。

二是布制画板(一般都作成背带型的)特点是携带方便,适宜速写等快速做画。

三是纸制画板(一般都用吸水性好的纸张)特点是吸水性好,柔软,适合软性笔水墨做画。

纸制画板自己制作,我采用和装裱的工序一样,

选纸--裁纸(相同大小)----做糨糊(最好用淀粉)---将所有的纸张用水打湿-----十分种后将所有的纸张逐层裱好---找比较平整的硬性材质将纸板夹好---自然凉干---可以使用