平移變換translate()
平移變換,故名思議,就是一般的圖形位移。例如這裡我想將位於(100,100)的矩形平移至(200,200)點。那我只要在繪製矩形之前加上context.translate(100,100)即可。
這裡的translate()只傳入兩個參數,其實就是新畫布座標係原點的座標。下面結合程式碼來看看效果。
- html>
- html lang="zh" >
- 頭>
- 元 字符集 字符集 字符集
- 字符集 字符集 字符集 字符集>
- 標題>平移變身 >
- 樣式> 正文 { 背景: url("./images/bg3.jpg") 重複; }
- #canvas { 邊框: 1px solid #aaaaaa; 顯示:區塊; 邊距:50px 自動; } 樣式>
- 頭 >
- 身體> div id=id=id=id=
- id=id=id=id=id> "> 畫布 id="畫布" > 你的瀏覽器居然不支援Canvas? !趕緊換一個吧! !
- 畫布>
- div>
- 腳本>
- window.onload = 函數(){🎜>函數(){ >
- var 畫布 = canvas.width =
- 800 = 800 = canvas.height = var 情境 = canvas
- context.fillStyle = context.fillRect(0,0,800,600);
- context.fillStyle = "#00AAAAAAA context.fillRect(100,100,200,100);
- context.fillStyle = context.translate(100,100); context.fillRect(100,100,200,100);
- };
- 腳本>
- 身體
- >
- html>
- 運行結果: 這裡的藍色擬合,是原來的位置,然後呼叫translate()方法,將預估非線性至(200,200),即紅色擬合的位置。我們來用一張圖看看,它是怎麼退出now直播帳號。實作平移變換的。 其實,其實這裡的平移變換外觀就是在平移座標系,而對translate()建立的參數,實質就是新座標系相對於舊座標系的原點。這使得我們依然在(100, 100)膚色的膚色,在平移座標系之後,變到了(200,200)處。 注意使用狀態保存: 其實這裡有個坑,我們想如果把曲線平移至(300,300)怎麼辦呢?也許我們會想,直接呼叫context.translate(200,200)就可以了。好,我們看看效果。
-
JavaScript 程式碼 將內容複製到剪切板
- nbsp;html>
- "zh">
- "UTF-8">
-
平移变换 - body { background: url("./images/bg3.jpg") repeat; }
- #canvas { border: 1px solid #aaaaaa; display: block; margin: 50px auto; }
- "canvas-warp">
- 你的浏览器居然不支持Canvas?!赶快换一个吧!!
- window.onload = 函數(){
- var canvas = document.getElementById(" canvas.width = 800;
- canvas.height = 600;
- var context = canvas.getContext("2d" context.fillStyle =
- "#FFF"; context.fillRect(0,0,800,600);
- context.fillStyle =
- "#00AAAA"; context.fillRect(100,100,200,100);
- context.fillStyle =
- 「紅色」; context.translate(100,100);
- context.fillRect(100,100,200,100);
- context.fillStyle =
- "綠色"; context.translate(200,200);
- context.fillRect(100,100,200,100);
- };
- 腳本>
這裡的綠色方程式並沒有如我們所願在(300,300)位置處,而是跑到了(400,400)這裡。值值。兩個一個方法。
第一,每次使用完成轉換之後,記得將座標系平移回原點,即呼叫translate(-x,-y)。
切記,千萬不要再想著我緊繼續連接第一次平移之後再平移翻譯(100,100)不就行了,這樣你自己的坐標係就會亂套,根本找不到自己的坐標係原在點其中,在多次變換或封裝函數之後,會坑死你。的時候,要這麼處理,而不僅僅是平移變換。
具體使用如下。
JavaScript 程式碼
將內容複製到剪切板
- nbsp;html>
- "zh">
- "UTF-8">
-
平移变换 - body { background: url("./images/bg3.jpg") repeat; }
- #canvas { border: 1px solid #aaaaaa; display: block; margin: 50px auto; }
- "canvas-warp">
- 你的浏览器居然不支持Canvas?!赶快换一个吧!!
- window.onload = 函數(){
- var canvas = document.getElementById(" canvas.width = 800;
- canvas.height = 600;
- var context = canvas.getContext("2d" context.fillStyle =
- "#FFF"; context.fillRect(0,0,800,600);
- context.fillStyle =
- "#00AAAA"; context.fillRect(100,100,200,100);
- context.save();
- context.fillStyle =
- 「紅色」; context.translate(100,100);
- context.fillRect(100,100,200,100);
- context.restore();
- context.save();
- context.fillStyle =
- "綠色"; context.translate(200,200);
- context.fillRect(100,100,200,100);
- context.restore();
- };
- 腳本>
因此,在使用圖形轉換的時候,要記得結合使用狀態保存。
旋轉變換rotate()
是同畫圓弧一樣,這裡的rotate(deg)確定的參數是弧度,不是角度。在使用rotate()之前,需要配合使用translate()平移座標系,決定旋轉的圓心。
最後一點要注意的是,Canvas是基於狀態的一天,所以每次旋轉都是接著一次旋轉的基礎上繼續旋轉,所以在使用圖形變換的時候必須配置save()與restore()方法,重置旋轉角度,重置座標係原點。
JavaScript 程式碼
將內容複製到剪切板
- nbsp;html>
- "zh">
- "UTF-8">
-
旋转变换 - body { background: url("./images/bg3.jpg") repeat; }
- #canvas { border: 1px solid #aaaaaa; display: block; margin: 50px auto; }
- "canvas-warp">
- 你的浏览器居然不支持Canvas?!赶快换一个吧!!
- window.onload = 函數(){
- var canvas = document.getElementById(" canvas.width = 800;
- canvas.height = 600;
- var context = canvas.getContext("2d" context.fillStyle =
- "#FFF"; context.fillRect(0,0,800,600);
- for(var 🎜>var i 🎜 > context.save();
- context.translate(70 i * 50, 50 i * 40);
- context.fillStyle =
- "#00AAAA"; context.fillRect(0,0,20,20);
- context.restore();
- context.save();
- context.translate(70 i * 50, 50 i * 40);
- context.rotate(i * 30 * Math.PI / 180);
- context.fillStyle =
- 「紅色」; context.fillRect(0,0,20,20);
- context.restore();
- }
- };
- 腳本>
這裡用循環分別了14對車輪,其中藍色是旋轉前的車輪,紅色是旋轉後的車輪。恢復()繞起來,每次旋轉前都移動了坐標系。

html5的div元素默认一行不可以放两个。div是一个块级元素,一个元素会独占一行,两个div默认无法在同一行显示;但可以通过给div元素添加“display:inline;”样式,将其转为行内元素,就可以实现多个div在同一行显示了。

html5中列表和表格的区别:1、表格主要是用于显示数据的,而列表主要是用于给数据进行布局;2、表格是使用table标签配合tr、td、th等标签进行定义的,列表是利用li标签配合ol、ul等标签进行定义的。

固定方法:1、使用header标签定义文档头部内容,并添加“position:fixed;top:0;”样式让其固定不动;2、使用footer标签定义尾部内容,并添加“position: fixed;bottom: 0;”样式让其固定不动。

html5中不支持的标签有:1、acronym,用于定义首字母缩写,可用abbr替代;2、basefont,可利用css样式替代;3、applet,可用object替代;4、dir,定义目录列表,可用ul替代;5、big,定义大号文本等等。

HTML5中画布标签是“<canvas>”。canvas标签用于图形的绘制,它只是一个矩形的图形容器,绘制图形必须通过脚本(通常是JavaScript)来完成;开发者可利用多种js方法来在canvas中绘制路径、盒、圆、字符以及添加图像等。

html5废弃了dir列表标签。dir标签被用来定义目录列表,一般和li标签配合使用,在dir标签对中通过li标签来设置列表项,语法“<dir><li>列表项值</li>...</dir>”。HTML5已经不支持dir,可使用ul标签取代。

3种取消方法:1、给td元素添加“border:none”无边框样式即可,语法“td{border:none}”。2、给td元素添加“border:0”样式,语法“td{border:0;}”,将td边框的宽度设置为0即可。3、给td元素添加“border:transparent”样式,语法“td{border:transparent;}”,将td边框的颜色设置为透明即可。

因为html5不基于SGML(标准通用置标语言),不需要对DTD进行引用,但是需要doctype来规范浏览器的行为,也即按照正常的方式来运行,因此html5只需要写doctype即可。“!DOCTYPE”是一种标准通用标记语言的文档类型声明,用于告诉浏览器编写页面所用的标记的版本。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3漢化版
中文版,非常好用

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Atom編輯器mac版下載
最受歡迎的的開源編輯器

記事本++7.3.1
好用且免費的程式碼編輯器

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),