html 帆布

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了html 帆布相关的知识,希望对你有一定的参考价值。

<!DOCTYPE HTML>
<html lang="en-US">
<head>
	<meta charset="UTF-8">
	<title></title>
</head>
<body>
<canvas id="canvas" width="500" height="300"></canvas>

<div>
  <button type="button" onclick="colorCange(0)">ペン</button>
  <button type="button" onclick="colorCange(1)" >消しゴム</button>
</div>
<h2>画像出力<h2>
<div id="img-box"><img id="newImg"></div>
<div id="btn-box">
	<button type="button" onclick="chgImg()" value="1">保存</button>
</div>


<script type="text/javascript">
var canvas = document.getElementById('canvas'),
    ctx = canvas.getContext('2d'),
    moveflg = 0,
    Xpoint,
    Ypoint;

//初期値(サイズ、色)の決定
var defSize = 4,
    defColor = "#000000";
   
var element = document.getElementById( "canvas" );
var rect = element.getBoundingClientRect();
var positionX = rect.left + window.pageXOffset;
var positionY = rect.top + window.pageYOffset;

// PC対応
canvas.addEventListener('mousedown', startPoint, false);
canvas.addEventListener('mousemove', movePoint, false);
canvas.addEventListener('mouseup', endPoint, false);
// スマホ対応
canvas.addEventListener('touchstart', startPoint, false);
canvas.addEventListener('touchmove', movePoint, false);
canvas.addEventListener('touchend', endPoint, false);

function startPoint(e){
	e.preventDefault();
	ctx.beginPath();
	// 矢印の先っぽから始まるように調整
	Xpoint = e.pageX-positionX;
	Ypoint = e.pageY-positionY;
	ctx.moveTo(Xpoint, Ypoint);
}

function movePoint(e){
	if(e.buttons === 1 || e.witch === 1 || e.type == 'touchmove'){
		Xpoint = e.pageX-positionX;
		Ypoint = e.pageY-positionY;
		moveflg = 1;
		ctx.lineTo(Xpoint, Ypoint);
		ctx.lineCap = "round";
		ctx.lineWidth = defSize * 2;
		ctx.strokeStyle = defColor;
		ctx.stroke();
	}
}

function endPoint(e){
    if(moveflg === 0){
		ctx.lineTo(Xpoint-1, Ypoint-1);
	    ctx.lineCap = "round";
	    ctx.lineWidth = defSize * 2;
	    ctx.strokeStyle = defColor;
	    ctx.stroke();
	}
    moveflg = 0;
}


function chgImg(){
	var png = canvas.toDataURL();
	document.getElementById("newImg").src = png;
}
function colorCange(colortype){
	if(colortype===0){
		defColor = "#000000";
	} else {
		defColor = "#fff";
	}
}

</script>

<style type="text/css">
canvas {
  border:2px solid #000;
}
</style>

</body>
</html>

以上是关于html 帆布的主要内容,如果未能解决你的问题,请参考以下文章

html 帆布

html 帆布弹跳球,javascript

html 帆布

HTML 帆布

html 帆布を使って白黒画像を生成する

html2帆布灰色背景去除