原生js实现一个可随意拖拽的画板代码

代码语言:html

所属分类:其他

代码描述:原生js实现一个可随意拖拽的画板代码,支持多种笔头、支持喷墨、支持下载保存图片、支持力度调节。

代码标签: 原生 js 随意 拖拽 画板 代码

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
<style>
a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video {
	margin:0;
	padding:0;
	border:0;
	font-size:100%;
	font:inherit;
	vertical-align:baseline
}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {
	display:block
}
body {
	line-height:1
}
ol,ul {
	list-style:none
}
blockquote,q {
	quotes:none
}
blockquote:after,blockquote:before,q:after,q:before {
	content:"";
	content:none
}
table {
	border-collapse:collapse;
	border-spacing:0
}
* {
	box-sizing:border-box;
	-webkit-font-smoothing:antialiased;
	text-shadow:1px 1px 1px rgba(41,41,41,0.004);
	-webkit-user-select:none;
	-moz-user-select:none;
	-ms-user-select:none;
	-o-user-select:none;
	user-select:none
}
body,html {
	margin:0;
	display:flex;
	justify-content:center;
	align-items:center
}
body {
	min-height:100vh;
	min-width:100vw;
	background:#626262;
	font-family:Helvetica
}
.brushPanel,.imgNav,.sprayPanel {
	height:180px;
	width:266.6px;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	background:#535353;
	top:15px;
	right:15px;
	position:absolute;
	border-top-right-radius:5px;
	border-top-left-radius:5px;
	box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);
	z-index:999
}
.brushPanel,.sprayPanel {
	left:15px;
	right:auto;
	height:100px;
	width:266.6px;
	border-top-right-radius:0;
	border-top-left-radius:0
}
img {
	width:250px;
	height:133.33px;
	display:block;
	border-radius:5px
}
#canvasImg {
	z-index:200
}
#canvasBgImg {
	background:#fff;
	background:url(//repo.bfw.wiki/bfwrepo/images/cavas/canvasBg.png) 50%;
	background-size:15px;
	background-position:-1.5px top;
	position:absolute;
	top:33.2px;
	top:calc(50%+10px);
	left:50%;
	transform:translatex(-50%) translatey(-50%)
}
#draw {
	cursor:crosshair!important;
	z-index:200
}
#canvasBg {
	top:50%;
	left:50%;
	transform:translatex(-50%) translatey(-50%);
	background:url(//repo.bfw.wiki/bfwrepo/images/cavas/canvasBg.png) 50%;
	background-size:50px;
	position:absolute;
	z-index:-1
}
.toolbar {
	position:absolute;
	left:200px;
	top:200px;
	height:auto;
	width:50px;
	flex-wrap:wrap;
	flex-direction:column;
	align-items:flex-start;
	background:#535353;
	border-top-right-radius:5px;
	border-top-left-radius:5px;
	box-shadow:0 3px 6px rgba(0,0,0,0.16),0 3px 6px rgba(0,0,0,0.23);
	z-index:999
}
.imgNavTitle,.toolbar,.toolTitle {
	display:flex;
	justify-content:flex-start
}
.imgNavTitle,.toolTitle {
	background:#434343;
	height:20px;
	width:100%;
	border-radius:inherit;
	color:#dcdcdc;
	align-items:center;
	padding-left:5px;
	font-size:10px
}
.toolTitle {
	transform:translateX(-1px);
	width:52px
}
.imgNavTitle,.panelTitle,.sprayPaneTitle {
	transform:translateY(-15px)
}
.panelTitle,.sprayPaneTitle {
	transform:translateY(-8px);
	width:calc(100%+100px);
	z-index:500;
	margin-left:100px;
	border-top-right-radius:5px;
	border-top-left-radius:5px;
	height:20px
}
.sprayPaneTitle {
	width:100%;
	margin-left:0
}
.tool {
	height:45px;
	width:50px;
	border:1px solid transparent;
	display:flex;
	justify-content:center;
	align-items:center;
	cursor:pointer;
	background:#535353;
	color:#dcdcdc;
	border-radius:5px;
	transition:all 0s ease;
	position:relative
}.........完整代码请登录后点击上方下载按钮下载查看

网友评论0