>  기사  >  웹 프론트엔드  >  JS는 간단한 캔버스 그리기 example_javascript 기술을 구현합니다.

JS는 간단한 캔버스 그리기 example_javascript 기술을 구현합니다.

WBOY
WBOY원래의
2016-05-16 17:30:031288검색
변수 정의:
[javascript]
코드 복사 코드는 다음과 같습니다.

var startX;
var endX;
var radius;
var canvas = document.getElementById("myCanvas"); >var context = canvas.getContext("2d");
var select = document.getElementsByTagName("select");
var startX;
var startY;
var endX;
var endY;
var radius;
var canvas = document.getElementById("myCanvas");
var context = canvas.getContext("2d");
var select = document.getElementsByTagName("select) ");



기능 부분:

[javascript]

코드 복사 코드는 다음과 같습니다. window.onload=function() {
canvas.onmousedown = function(e) {
e = e || > startX = e.clientX ;
startY = e.clientY;
if(select[0].value == "arc") {
canvas.onmousemove = moveShowArc; 🎜> canvas.onmousemove = canvas.mouseShowRect;
}
}
canvas.onmouseup = function() {
canvas.onmousemove = ""
}
}
function moveShowRect(e) {
context.clearRect(0, 0, 500, 300);
endX = e.clientX - startX;
endY = e.clientY - startY; ();
context.reg(startX, startY, endX, endY);
context.fillStyle = "#8ED6FF";
context.lineWidth = 3; 🎜> context.StrokeStyle = "검정색";
context.Stroke();
}
function moveShowArc(e) {
context.clearRect(0, 0, 500, 300); > endX = e.clientX - startX ;
endY = e.clientY - startY;
radius = Math.sqrt(Math.pow(endX,2) Math.pow(endY,2)); context.beginPath();
context.arc(startX, startY,radius,0,2 * Math.PI,false)
context.fillStyle = "#8ED6FF"
context.fill() ;
context.lineWidth = 3;
context.StrokeStyle = "black";
context.Stroke()
}
window.onload=function() {
캔버스. onmousedown = function(e) {
e = e || event;
startX = e.clientX;
startY = e.clientY;
if(select[0].value == "arc ") {
canvas.onmousemove = moveShowArc;
} else {
canvas.onmousemove = moveShowRect;
}
}
canvas.onmouseup = function() {
캔버스 .onmousemove = "";
}
}
function moveShowRect(e) {
context.clearRect(0, 0, 500, 300);
endX = e.clientX - startX;
endY = e.clientY - startY;
context.beginPath();
context.ect(startX, startY, endX, endY);
context.fillStyle = "#8ED6FF";
context.fill();
context.lineWidth = 3;
context.StrokeStyle = "black";
context.Stroke();
}
function moveShowArc(e) {
context.clearRect(0, 0, 500, 300);
endX = e.clientX - startX;
endY = e.clientY - startY;
radius = Math.sqrt(Math.pow( endX,2) Math.pow( endY,2));
context.beginPath();
context.arc(startX, startY,radius,0,2 * Math.PI,false);
context.fillStyle = "#8ED6FF" ;
context.fill();
context.lineWidth = 3;
context.StrokeStyle = "black";
context.Stroke();
}

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.