html 페이지 를 통 해 Js 배우 기
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title> </title>
<script type="text/javascript">
var $=function(id)
{
return document.getElementById(id);
}
var ctxt;
var canvas;
function animationDraw()
{
var posx = 0, posy = 0;
var width = 100, height = 100;
var tarx = true, tary = true;
setInterval(function(){
ctxt.clearRect(0, 0, canvas.width, canvas.height);
ctxt.fillStyle="rgba(0, 0, 255, 0.8)"; //opaque
if(posy <= 0){ tary = true;}else if(posy >= (canvas.height - height)){ tary = false;}
if(posx <= 0){ tarx = true;}else if(posx >= (canvas.width - width)){ tarx = false;}
if(tary)
posy++;
else
posy--;
if(tarx)
posx++;
else
posx--;
drawPath();
drawArc();
ctxt.fillRect(posx, posy, height, width);
}, 5);
}
//arc(x, y, radius, startAngle, endAngle, anticlockwise)
// x, y 。radiu , Angle 0 。
//var radians = (Math.PI/180)*degrees
function drawArc()
{
doLog(" ");
ctxt.beginPath();
var startAngle = 0;
var endAngle = (Math.PI/180)*90;
ctxt.fillStyle="rgba(0, 100, 0, 0.5)";
ctxt.arc(100, 50, 70, startAngle, endAngle, false);
ctxt.closePath();
ctxt.fill();
}
//drawImage(image, dx, dy)
//drawImage(image, dx, dy, dw, dh)
//drawImage(image, sx, sy, sw, sh, dx, dy, dw, dh)
//image = HTMLImageElement | HTMLCanvasElement | HTMLVideoElement
//dx, dy image dw,dh image ,sx, sy image ,sw, sy image 。
function testDrawImg()
{
var img = new Image()
img.src = "file:///C:\\test.jpg";
img.onload=function()
{
ctxt.drawImage(img, 100, 100);
}
}
function testText()
{
doLog(" ");
ctxt.font = "50px "; //
ctxt.textAlign = "left"; //
ctxt.textBaseline = "middle"; //
ctxt.fillText("fill", 10, 100);
ctxt.strokeText("stroke", 10, 50);
ctxt.strokeText("abc", 10, 200);
doLog("abc "+ctxt.measureText("abc").width); //
}
//quadraticCurveTo(cp1x, cp1y, x, y) cp=control point
//BezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y)
function drawBezier()
{
ctxt.beginPath();
ctxt.moveTo(250, 250);
ctxt.fillStyle = "rgba(0, 0, 200, 0.5)"
ctxt.quadraticCurveTo(100, 100, 50, 250);
ctxt.stroke();
ctxt.closePath();
doLog("Bezier");
}
function drawPath()
{
//stroke()
//beginPath()
//closePath() ,
//fill() fillStyle
ctxt.beginPath(); //
ctxt.moveTo(100, 25);
ctxt.lineTo(50, 50);
ctxt.lineTo(200, 250);
ctxt.lineTo(150, 150);
ctxt.stroke();
ctxt.fillStyle="rgba(25, 0, 100, 0.5)";
ctxt.fill();
ctxt.closePath();
}
function init()
{
canvas = $("MyCanvas"); //
if(canvas.getContext)
{
ctxt = canvas.getContext("2d");
var btn1 = $("btn1");
btn1.addEventListener("click",animationDraw, true);
}else{alert("this browser cann't support Canvas Context");}
}
function draw()
{
ctxt.fillStyle="rgba(255, 0, 0, 0.2)";
ctxt.fillRect(0, 0, 100, 100);
ctxt.fillStyle="rgba(0, 255, 0, 0.5)";
ctxt.fillRect(50, 50, 150, 150);
ctxt.fillStyle="rgba(0, 0, 255, 0.8)"; //opaque
ctxt.fillRect(100, 100, 200, 200);
}
function doLog(msg)
{
$("iconsle").innerHTML = msg;
}
function doMovie(event)
{
doLog( " absolate x:"+ event.clientX + " y:" + event.clientY +
" relative x:" + event.offsetX + " y:" + event.offsetY);
}
//createImageData(sw, sh); imagedata
//createImageData(imageData); imagedata
//getImageData(sx,sy,sw,sh); imagedata
//imagedata.width
//imagedata.height
//imagedata.data RGBA 0-255
//putImageData(imagedata, dx, dy [, dirtyX, dirtyY, dirtyWidth, dirtyHeight ]) canvas
function doPixel()
{
}
</script>
<style type="text/css">
canvas { border: 1px solid black; }
</style>
</head>
<body onload="init()">
<h3> Canvas </h3>
<hr/><div id="iconsle"></div>
<button id="btn1"> </button>
<button id="btn2" onclick="drawPath()"> </button>
<button id="btn3" onclick="drawArc()"> </button>
<button id="btn4" onclick="drawBezier()">BezierCurve</button>
<button id="btn5" onclick="testText()">Text</button>
<button id="btn6" onclick="testDrawImg()">testDrawImg</button>
<button onclick="draw();"> </button><br>
<canvas id="MyCanvas" width="800" height="600" OnMouseMove="doMovie(event)">
this browser cann't support canvas
</canvas>
<hr />
<div>
</div>
</body>
</html>
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다른 사람의 웹사이트 편집: contenteditable 및 designMode그래도 우리가 그렇게 할 수 있다고 생각하는 것은 멋진 일입니다. 제가 강조하고 싶었던 일종의 관련 API가 실제로 몇 개 있기 때문에 오늘 그것을 가져왔습니다. contenteditable는 "true" 값이 할당...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.