1、Canvas的基本用法

1、Canvas是什么?

HTML5 的 canvas 元素使用 JavaScript 在網頁上繪制圖像。

畫布是一個矩形區域,您可以控制其每一像素。

canvas 擁有多種繪制路徑、矩形、圓形、字符以及添加圖像的方法。

2、創建 Canvas 元素

規定元素的 id、寬度和高度:

<canvas class="canvas" width="200px" height="200px"></canvas>

3、通過 JavaScript 來繪制

canvas 元素本身是沒有繪圖能力的。所有的繪制工作必須在 JavaScript 內部完成:

var c=document.getElementById("myCanvas"); 
var cxt=c.getContext("2d"); ?
cxt.fillStyle="#FF0000"; ?
cxt.fillRect(0,0,150,75); 

4、通過JavaScript創建canvas

function createCanvas(){
document.body.innerHTML = ""
mycanvas =document.getElementByIdx("mycanvas");
context = mycanvas.getContext("2d");
}

5、繪制矩形

function drawRect(){
context.fillStyle="#ff0000";
context.translate(100,200);//移動
context.scale(1,0.5);//縮放
context.rotate(30);//旋轉
context.fillRect(0,0,200,200);
}

  

6、繪制圖像

function drawImage(){
var img = new Image();
img.onload = function(){
context.drawImage(img,0,0);//三個參數圖片源對象、擺放的位置
}
img.src = "img/logo.png"
}

7、使用Canvas繪制直線

function pageLoad(){var c= $('mycanvas');var ctx = c.getContext('2d');ctx.moveTo(20,30);//第一個起點ctx.lineTo(120,90);//第二個點ctx.lineTo(220,60);//第三個點(以第二個點為起點)ctx.lineTo(250,90);//第四個點(以第二個點為起點)ctx.lineWidth=3;ctx.strokeStyle = 'blue';ctx.stroke();//stroke() 方法會實際地繪制出通過 moveTo() 和 lineTo() 方法定義的路徑。默認顏色是黑色。
} 

8、繪制漸變曲線

function pageLoad2(){var can = $('mycanvas');var cans = can.getContext('2d');cans.moveTo(0,0);cans.lineTo(400,300);var grd = cans.createLinearGradient(0,0,400,300);//線性漸變的起止坐標grd.addColorStop(0,'red');//創建漸變的開始顏色,0表示偏移量,個人理解為直線上的相對位置,最大為1,一個漸變中可以寫任意個漸變顏色grd.addColorStop(0.5,'green');grd.addColorStop(1,'yellow');cans.lineWidth=20;cans.strokeStyle = grd;cans.stroke();
}

  

8、繪制一個線性漸變的矩形

function pageLoad2(){var can = $('mycanvas');var cans = can.getContext('2d');cans.moveTo(0,0);cans.lineTo(400,300);var grd = cans.createLinearGradient(0,0,0,100);//線性漸變的起止坐標grd.addColorStop(0,'red');//創建漸變的開始顏色,0表示偏移量,個人理解為直線上的相對位置,最大為1,一個漸變中可以寫任意個漸變顏色grd.addColorStop(0.5,'green');grd.addColorStop(1,'yellow');cans.fillStyle=grd;cans.fillRect(0,0,200,100);
}

  

?

轉載于:https://www.cnblogs.com/hamigua/p/5512667.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/271776.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/271776.shtml
英文地址,請注明出處:http://en.pswp.cn/news/271776.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

用lambda表達式實現Runnable

用lambda表達式實現Runnable lambda表達式替換了原來匿名內部類的寫法&#xff0c;沒有了匿名內部類繁雜的代碼實現&#xff0c;而是突出了&#xff0c;真正的處理代碼。最好的示例就是 實現Runnable 的線程實現方式了: 用() -> {}代碼塊替代了整個匿名內部類 Test public …

java弱引用怎么手動釋放,十分鐘理解Java中的弱引用,十分鐘java引用

十分鐘理解Java中的弱引用&#xff0c;十分鐘java引用本篇文章嘗試從What、Why、How這三個角度來探索Java中的弱引用&#xff0c;幫助大家理解Java中弱引用的定義、基本使用場景和使用方法。由于個人水平有限&#xff0c;敘述中難免存在不準確或是不清晰的地方&#xff0c;希望…

軟件:推薦六款實用的錄頻軟件

??作者主頁&#xff1a;IT技術分享社區 ??作者簡介&#xff1a;大家好,我是IT技術分享社區的博主&#xff0c;從事C#、Java開發九年&#xff0c;對數據庫、C#、Java、前端、運維、電腦技巧等經驗豐富。 ??個人榮譽&#xff1a; 數據庫領域優質創作者&#x1f3c6;&#x…

安裝 openSUSE Leap 42.1 之后要做的 8 件事

導讀openSUSE Leap 確實是個巨大的飛躍&#xff0c;它允許用戶運行一個和 SUSE Linux 企業版擁有同樣基因的發行版。和其它系統一樣&#xff0c;為了實現最佳的使用效果&#xff0c;在使用它之前需要做些優化設置。下面是一些我在我的電腦上安裝 openSUSE Leap 之后做的一些事情…

Java8 Stream Collectors groupingBy使用

分組List并顯示其總數。 Test public void test8() {//3 apple, 2 banana, others 1List<String> items Arrays.asList("apple", "apple", "banana","apple", "orange", "banana", "papaya");Map…

操作系統:分享10個經常用的cmd命令

電腦高手操作電腦時&#xff0c;通常都是在“運行”中直接輸入“命令”來直接調出相應的操作。如果大家也想要像電腦高手一樣&#xff0c;但是卻又不知道“運行”命令有哪些&#xff1f;在這里&#xff0c;小編就為大家分享10個“運行”命令&#xff0c;讓大家體驗到成為電腦高…

matlab交叉耦合,交叉耦合矩陣綜合問題

編程計算N階耦合矩陣&#xff0c;基本都能算對&#xff0c;但是對于某些特殊參數會出現R1!RN&#xff0c;大家又出現類似的情況么&#xff1f;希望高手幫忙計算以下參數&#xff0c;看看是否能算出來。參數為ftz[-1.2i -1.4i 1.4i 1.2i -1.05i 1.05i];傳輸零點RL20;%帶內回波N …

idea創建Package時出現包名累加,而不是樹形結構解決方法

idea打開工程的時候包名疊在一起了 點擊箭頭處按鈕,把第一第二行勾去掉 如下 最終效果

電腦鍵盤中英文按鍵有哪些?有什么作用?

對于電腦鍵盤&#xff0c;相信大家并不陌生&#xff0c;而在電腦鍵盤上面有著很多按鍵&#xff0c;除了數字按鍵和字母按鍵之外&#xff0c;還有很多看不懂的英文按鍵。那么這些英文按鍵是什么意思呢&#xff1f;如果并不了解&#xff0c;那么小編就為大家介紹所有英文按鍵的意…

在github中使用pages上傳自己的網頁

轉載自&#xff1a;http://www.cnblogs.com/lijiayi/p/githubpages.html 學了前端小半年&#xff0c;如今寫了個自己的網頁想要去應聘&#xff0c;卻發現部署很麻煩&#xff0c;部署到阿里云之類&#xff0c;買域名啊啥的還要收費&#xff0c;說貴也不貴&#xff0c;但我就是傲…

使用lamba中stream 進行分組統計

對一個list中的元素進行分組&#xff0c;并統計各個元素出現的次數。放入map<String,Long>。 代碼如下: Test public void test8() {List<String> items Arrays.asList("1", "2", "3","4", "1", "3"…

php 表單select,表單控件select標簽是如何使用的

表單控件select標簽是用來創建下拉列表的&#xff0c;通過標簽來定義可用選項以及其他屬性來設置表單控件的選擇個數等。今天將介紹的是HTML中的表單控件select的用法&#xff0c;具有一定的參考價值&#xff0c;希望對大家有所幫助。【推薦課程&#xff1a;HTML教程】select標…

電腦經常死機是什么原因?如何解決?

目錄 一、電腦經常死機是什么原因&#xff1f; 二、電腦經常死機如何解決&#xff1f; ??????? 一、電腦經常死機是什么原因&#xff1f; 1、電腦頻繁死機&#xff0c;在進行CMOS設置時也會出現死機現象&#xff0c;一般由硬件問題引起的&#xff0c;散熱不良…

重量級框架

1.概述 重量級框架則強調高可伸縮性&#xff0c;適合與開發大型企業應用。輕量級框架側重于減小開發的復雜度&#xff0c;相應的它的處理能力便有所減弱&#xff08;如事務功能弱、不具備分布式處理能力&#xff09;&#xff0c;比較適用于開發中小型企業應用。輕量級框架和重量…

Win10磁盤占用達到100%,優化一下就解決了

??作者主頁&#xff1a;IT技術分享社區 ??作者簡介&#xff1a;大家好,我是IT技術分享社區的博主&#xff0c;從事C#、Java開發九年&#xff0c;對數據庫、C#、Java、前端、運維、電腦技巧等經驗豐富。 ??個人榮譽&#xff1a; 數據庫領域優質創作者&#x1f3c6;&#x…

2、IDEA以新窗口的形式打開多個項目

IDEA以新窗口的形式打開多個項目 修改1處如圖所示

160523、Oracle建立表空間和用戶

建立表空間和用戶的步驟&#xff1a; 用戶 建立&#xff1a;create user 用戶名 identified by "密碼"; 授權&#xff1a;grant create session to 用戶名; grant create table to 用戶名; grant create tablespace to 用戶名; …

Win10 該如何設置FTP呢,詳細設置步驟

復印&#xff0c;打印&#xff0c;掃描的日常操作是每個辦公人員的必備技能&#xff0c;我們來了解一下掃描至FTP的具體操作方法。 要使用FTP功能掃描文件到電腦&#xff0c;首先要需要一臺可以接收文件的FTP服務器&#xff0c;這個服務器我們可以借助第三方軟件搭建&#xff0…

數值的加減會改變python中id,在python中調用Nan值并更改為數字

ix已棄用&#xff0c;請不要使用它。在選項1我會用np.where-df df.assign(pronp.where(df.pro.isnull(), df.property_type, df.pro))dfid property_type1 property_type pro0 1 Condominium 2 2.01 2 Farm 14 14.02 3 House 7 7.03 4 Lots/Land 15 15.04 5 Mobile/Manufactur…

Linux和Windows操作系統有什么區別?

目錄 1、Linux系統的優缺點 2、Linux系統與Windows系統的區別 在所有操作系統中&#xff0c;Windows系統屬于最多用戶使用的操作系統&#xff0c;而這一次小編要來跟大家聊聊Linux系統&#xff0c;目前很多筆記本也已經開始預裝Linux系統了。那么Linux系統有什么優缺點呢&#…