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/zh-hant/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

發表回復

登錄後才能評論