您的位置:

Canvas绘制矩形

一、绘制基本矩形

let canvas = document.getElementById('myCanvas');
let ctx = canvas.getContext('2d');
ctx.fillStyle = "red";
ctx.fillRect(50, 50, 100, 100);

Canvas是HTML 5标准中新加入的元素,在网页中创建图形可以使用它。使用canvas绘制矩形是最基础的操作之一,下面介绍如何绘制基本矩形。

使用fillRect()方法可以绘制矩形,其参数含义依次为矩形左上角的横坐标、纵坐标以及宽度和高度。在上述代码中,我们首先获取画布的上下文对象ctx,并将填充颜色设置为红色,接着调用fillRect()方法完成绘制。绘制的矩形左上角坐标是(50,50),宽度和高度都是100px。

二、绘制边框矩形

let canvas2 = document.getElementById('myCanvas2');
let ctx2 = canvas2.getContext('2d');
ctx2.strokeStyle = "blue";
ctx2.strokeRect(50, 50, 100, 100);

与填充矩形不同,绘制边框矩形需要使用strokeRect()方法,其参数含义与fillRect()相同。在上述代码中,我们同样先获取画布的上下文对象ctx2,将边框颜色设置为蓝色,接着调用strokeRect()绘制矩形的边框。绘制的矩形与前面的例子相同。

三、绘制圆角矩形

let canvas3 = document.getElementById('myCanvas3');
let ctx3 = canvas3.getContext('2d');
let x = 50;
let y = 50;
let w = 150;
let h = 100;
let r = 20;
ctx3.beginPath();
ctx3.moveTo(x + r, y);
ctx3.lineTo(x + w - r, y);
ctx3.arc(x + w - r, y + r, r, 1.5*Math.PI, 0);
ctx3.lineTo(x + w, y + h - r);
ctx3.arc(x + w - r, y + h - r, r, 0, 0.5*Math.PI);
ctx3.lineTo(x + r, y + h);
ctx3.arc(x + r, y + h - r, r, 0.5*Math.PI, Math.PI);
ctx3.lineTo(x, y + r);
ctx3.arc(x + r, y + r, r, Math.PI, 1.5*Math.PI);
ctx3.closePath();
ctx3.fillStyle = "green";
ctx3.fill();

绘制圆角矩形需要分成四段绘制。在上述代码中,我们定义了矩形左上角坐标、宽度和高度以及圆角的半径。接着通过beginPath()方法开始绘制路径并通过moveTo()方法将路径移动到左上角圆角的起点。接下来绘制第一段直线,再绘制第一个圆弧。绘制第二段直线,再绘制第二个圆弧。绘制第三段直线,再绘制第三个圆弧。绘制最后一段直线后,调用closePath()方法闭合路径,并将填充颜色设置为绿色,调用fill()方法完成绘制。

四、绘制渐变矩形

let canvas4 = document.getElementById('myCanvas4');
let ctx4 = canvas4.getContext('2d');
let grd = ctx4.createLinearGradient(0, 0, 170, 0);
grd.addColorStop(0, "#ff0000");
grd.addColorStop(1, "#00ff00");
ctx4.fillStyle = grd;
ctx4.fillRect(50, 50, 100, 100);

使用createLinearGradient()方法可以创建线性渐变色。其参数依次为渐变起点横、纵坐标以及渐变终点横、纵坐标。接着使用addColorStop()方法指定渐变色。其中第一个参数为0表示颜色在起点时完全不透明,第二个参数为1表示颜色在终点时完全不透明。在上述代码中,我们定义了矩形左上角坐标为(50,50),宽度和高度都是100px,并使用线性渐变色填充。

五、绘制图片矩形

let canvas5 = document.getElementById('myCanvas5');
let ctx5 = canvas5.getContext('2d');
let img = new Image();
img.src = "img.jpg";
img.onload = function() {
    ctx5.drawImage(img, 50, 50, 100, 100);
}

使用drawImage()方法可以在矩形中绘制图片。其参数依次为图片对象、起始点横、纵坐标以及绘制宽度和高度。在上述代码中,我们获取了图片对象,等待图片加载完成后调用drawImage()方法将图片绘制在矩形中心。

Canvas绘制矩形

2023-05-21
canvas绘制圆角矩形详解

2023-05-17
Android绘制圆角矩形实现视觉效果的优化

2023-05-14
使用CanvasFillRect快速绘制矩形图形

2023-05-16
Canvas绘制箭头

2023-05-24
Canvas绘制箭头

2023-05-19
js结合canvas,js结合echart绘图

本文目录一览: 1、JS之使用Canvas绘图 2、如何用js新建一个canvas? 3、js+html5实现canvas绘制椭圆形图案的方法 JS之使用Canvas绘图 canvas 元素负责在页面

2023-12-08
利用Canvas绘制高性能动画效果

一、Canvas简介 Canvas是HTML5中的一项标准,可以用来绘制图形,创建动画等。它是一个可编程的2D图形库,可以在网页上使用JavaScript进行操作。相比其他绘图库,Canvas有很多优

2023-12-08
Node.js Canvas全面解析

2023-05-19
js的canvas应用,canvas web

本文目录一览: 1、JS之使用Canvas绘图 2、《JS原理、方法与实践》- canvas作图(六)- 坐标操作 3、Canvas 使用指南 4、JS中canvas画布绘制中如何实现缩放,位移,旋转

2023-12-08
绘制交互式图表:Python中的Canvas

2023-05-13
微信小程序canvas完全攻略

2023-05-23
Canvas清空

2023-05-24
关于python中的canvas的信息

2022-11-13
Android Canvas 开发详解

2023-05-18
网页绘图利器:Python Canvas Masters

2023-05-13
Android自定义View:掌握Canvas和Paint实

2023-05-14
Python Tkinter Canvas:创建可交互的绘图

2023-05-12
canvasjs图片(canvas绘制一张图片)

本文目录一览: 1、用HTML5中canvas加js代码把下面这张图片绘制出釆 2、为什么我用js创建的image在canvas里显示不出来? 3、HTML5、JS的canvas绘制图片的问题。。 4

2023-12-08
包含js调色盘canvas的词条

本文目录一览: 1、JS中canvas画布绘制中如何实现缩放,位移,旋转 2、js+html5实现canvas绘制椭圆形图案的方法 3、JS之使用Canvas绘图 4、如何用js新建一个canvas?

2023-12-08