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()方法将图片绘制在矩形中心。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/251935.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝的头像小蓝
上一篇 2024-12-13 17:33
下一篇 2024-12-13 17:33

相关推荐

  • 矩形重叠图

    矩形重叠图是一个常见的图形问题,它需要我们找到重叠区域或者判断两个矩形是否重叠。在本文中,我们将从多个方面介绍如何处理矩形重叠图,包括算法思路、代码实现和性能优化等。 一、重叠矩形…

    编程 2025-04-27
  • Canvas清空

    一、canvas清空画布 在使用canvas绘图时,我们需要使用canvas的清空功能来实现画布上下文的重置,以便重新绘制图形。canvas提供了下面这个方法来清空画布: cons…

    编程 2025-04-24
  • QML Canvas的使用

    一、基本概念 QML Canvas是一种用于绘制2D图形的QML元素。它通过JavaScript API提供了一组常用的2D绘图函数,并且可在其内部定义多个图层,达到分层绘制的目的…

    编程 2025-04-23
  • Flutter Canvas的多方面探究

    一、Canvas简介 Canvas是Flutter中的绘图类,它提供了一系列绘制2D图形的方法和工具。例如,绘制直线,矩形,圆形等形状。在使用Canvas之前,必须先创建一个Cus…

    编程 2025-04-22
  • Canvas背景色的多个方面探究

    Canvas是HTML5新增的一项技术,它为网页开发者提供了一种在页面上绘制图像的方法。而背景色作为Canvas的一个基本元素,也可以有多种方面进行探究。 一、单色背景的使用 1、…

    编程 2025-02-24
  • Canvas文字居中

    一、Canvas文字居中代码 //获取画布元素 var canvas = document.getElementById(“canvas”); //获取2D渲染上下文 var ct…

    编程 2025-02-24
  • 微信小程序canvas完全攻略

    一、canvas的基本概念与使用 canvas是HTML5中新增的标签,它是用来绘制图形的容器,可以用于绘制简单的几何图形、图像、文字等 使用步骤如下: <canvas id…

    编程 2025-02-11
  • Canvas和WebGL在图形渲染中的应用

    一、Canvas和WebGL的简介 Canvas是一个HTML5 API,可以通过JavaScript脚本来绘制图形,它是一个位图绘图技术。Canvas可以用来绘制图形、动画、游戏…

    编程 2025-01-27
  • Python Canvas:打造灵活交互的图形界面应用

    Python是一种高级编程语言,广泛应用于各种领域,包括数据科学、金融领域、物联网以及Web开发等。这些领域的发展都离不开图形界面的支持。在Python中,可以使用Tkinter、…

    编程 2025-01-11
  • c语言编程矩形面积,求矩形面积的c语言程序

    本文目录一览: 1、怎么用C语言编程设计“输入长方形的长和宽,求长方形的面积”的程序 2、C语言问题,编写一个程序计算矩形的面积和周长 3、如何用C语言求矩形的面积和周长 4、用C…

    编程 2025-01-09

发表回复

登录后才能评论