亚洲国产精品人久久,亚洲va国产日韩欧美精品色婷婷,久久久久88色偷偷,免费人成黄页在线观看国际

17站長(zhǎng)網(wǎng)

HTML5 Canvas 轉(zhuǎn)換

html5 Canvas的轉(zhuǎn)換方法,在線實(shí)例演示如何使用html5 Canvas進(jìn)行旋轉(zhuǎn)、移動(dòng)、縮放,圍繞不同點(diǎn)旋轉(zhuǎn),縮放比例設(shè)置等。

您可以將轉(zhuǎn)換應(yīng)用于HTML5畫布上繪制的任何內(nèi)容。這是您可以應(yīng)用的轉(zhuǎn)換的列表:

移動(dòng)(移動(dòng)繪制的內(nèi)容)
旋轉(zhuǎn)
縮放

本文中介紹所有這些轉(zhuǎn)換

轉(zhuǎn)換矩陣

可以在2D上下文中設(shè)置轉(zhuǎn)換矩陣。此矩陣將乘以畫布上繪制的所有內(nèi)容。對(duì)于本教程中使用的示例,我將其設(shè)置為“身份”矩陣,該矩陣乘以x,y坐標(biāo)集后得出x,y。換句話說,不進(jìn)行任何轉(zhuǎn)換。
這是將轉(zhuǎn)換矩陣設(shè)置為單位矩陣的方法:

context.setTransform(1, 0, 1, 0);

移動(dòng)

可以將移動(dòng)應(yīng)用于畫布上繪制的所有內(nèi)容。移動(dòng)意味著所畫內(nèi)容的重定位。這是您在代碼中設(shè)置移動(dòng)的方式:

var x = 100;var y =  50;
context.translate(x, y);

本示例將在畫布上繪制的所有形狀在x軸上移動(dòng)100,在y軸上移動(dòng)50。
注意:平移僅適用于translate()調(diào)用函數(shù)后繪制的形狀。在該函數(shù)調(diào)用之前繪制的形狀不受影響。
這是另一個(gè)示例。在相同的坐標(biāo)處繪制了兩個(gè)矩形,但是在translate()調(diào)用該函數(shù)之前繪制了一個(gè)矩形,在之后繪制了一個(gè)矩形

<canvas id="ex1" width="500" height="150" style="border: 1px solid #cccccc;">
    HTML5 Canvas not supported
</canvas>
<script>
var canvas  = document.getElementById("ex1");
var context = canvas.getContext("2d");
 
context.fillStyle = "#ff0000";
context.fillRect(10,10, 100, 100);
 
context.translate(50, 25);
 
context.fillStyle = "#0000ff";
context.fillRect(10, 100);
</script>

這是在畫布上繪制時(shí)的結(jié)果:

HTML5 Canvas 轉(zhuǎn)換

旋轉(zhuǎn)

您可以將自動(dòng)旋轉(zhuǎn)應(yīng)用于在HTML5畫布上繪制的任何形狀。這是通過rotate()2D上下文上的功能完成的 。這是一個(gè)簡(jiǎn)單的示例:

context.rotate(radians);

旋轉(zhuǎn)角度作為參數(shù)傳遞給rotate()函數(shù)。該值必須以弧度而不是度為單位。
設(shè)置旋轉(zhuǎn)后繪制的所有形狀都將繞畫布上的0,0點(diǎn)旋轉(zhuǎn)。這是畫布的左上角。
與平移一樣,旋轉(zhuǎn)僅應(yīng)用于rotate() 調(diào)用函數(shù)后繪制的所有形狀。
這是在設(shè)置旋轉(zhuǎn)前后繪制相同矩形的示例:

<canvas id="ex2" width="500" height="150" style="border: 1px solid #cccccc;">
    HTML5 Canvas not supported
</canvas>
<script>
 var canvas  = document.getElementById("ex2");
var context = canvas.getContext("2d");
 context.fillStyle = "#ff0000";
 context.fillRect(10, 100);
 
 context.rotate( (Math.PI / 180) * 25);  //rotate 25 degrees.
 context.fillStyle = "#0000ff";
 context.fillRect(10, 100);
</script>

這是在畫布上繪制矩形時(shí)的外觀:

HTML5 Canvas 轉(zhuǎn)換

圍繞不同點(diǎn)旋轉(zhuǎn)

如前所述,所有形狀都圍繞畫布(0,0)的左上角旋轉(zhuǎn)。但是,如果您希望形狀繞不同的點(diǎn)旋轉(zhuǎn)怎么辦?例如,圍繞其自身的中心旋轉(zhuǎn)形狀?
要圍繞其自身的中心旋轉(zhuǎn)形狀,必須首先將畫布平移到形狀的中心,然后旋轉(zhuǎn)畫布,然后將畫布平移回0,0,然后繪制形狀。
這是一個(gè)代碼示例,它使藍(lán)色矩形圍繞其中心旋轉(zhuǎn):

<canvas id="ex3" width="500" height="150" style="border: 1px solid #cccccc;">
    HTML5 Canvas not supported
</canvas>
<script>
var canvas  = document.getElementById("ex3");
var context = canvas.getContext("2d");
 
var x      = 10;
var y      = 10;
var width  = 100;
var height = 100
var cx     = x + 0.5 * width;
var cy     = y + 0.5 * height;
 
context.fillStyle = "#ff0000";
context.fillRect(x, y, width, height);
 
context.translate(cx, cy);
context.rotate( (Math.PI / 180) * 25);  //rotate 25 degrees.
context.translate(-cx, -cy); //set center back to 0,0
context.fillStyle = "#0000ff";
context.fillRect(x, height);
</script>

這是在畫布上繪制時(shí)的外觀:

HTML5 Canvas 轉(zhuǎn)換

此示例首先將畫布的中心平移(移動(dòng))到正方形的中心(cx,cy)。然后將畫布旋轉(zhuǎn)25度。然后,它將畫布再次轉(zhuǎn)換回0,0。現(xiàn)在,畫布圍繞cx,cy旋轉(zhuǎn)了25度。您繪制的所有內(nèi)容都將圍繞cx,cy旋轉(zhuǎn)顯示。最終,該矩形被繪制為好像什么都沒發(fā)生一樣,但是現(xiàn)在它將圍繞cx,cy旋轉(zhuǎn)25度。這僅使用轉(zhuǎn)換調(diào)用即可實(shí)現(xiàn)。矩形的坐標(biāo)不變。請(qǐng)注意context.fillRect(),繪制紅色和藍(lán)色矩形的兩個(gè)調(diào)用是如何相同的。正是它們之間的轉(zhuǎn)換調(diào)用使它們出現(xiàn)在不同的位置和旋轉(zhuǎn)位置

縮放

可以對(duì)在HTML5畫布上繪制的所有形狀應(yīng)用自動(dòng)縮放。
縮放時(shí),可以通過某些因素縮放x軸和y軸上的所有坐標(biāo)。您可以使用scale()函數(shù)設(shè)置這些因素,如下所示:

var scaleX = 2;
var scaleY = 2;
context.scale(scaleX, scaleY);

本示例將x軸和y軸上的所有坐標(biāo)縮放2倍。
與translate()和一樣rotate(),縮放比例僅適用于scale()調(diào)用后繪制的形狀。
這是另一個(gè)繪制紅色和藍(lán)色矩形的代碼示例,其中縮放比例適用于藍(lán)色矩形:

<canvas id="ex5" width="500" height="250" style="border: 1px solid #cccccc;">
    HTML5 Canvas not supported
</canvas>
<script>
var canvas  = document.getElementById("ex5");
var context = canvas.getContext("2d");
var x      = 10;
var y      = 10;
var width  = 100;
var height = 100
 
context.fillStyle = "#ff0000";
context.fillRect(x, height);
 
context.scale(2,2);
 
context.fillStyle = "#0000ff";
context.fillRect(x, height);
</script>

這是在畫布上生成的grapichs:

HTML5 Canvas 轉(zhuǎn)換

請(qǐng)注意,藍(lán)色矩形的大小是紅色矩形的兩倍。
還要注意,從藍(lán)色矩形的左上角到畫布的左上角(0,0)的距離也兩倍。所有坐標(biāo)都縮放了兩倍,矩形的左上角坐標(biāo)也是如此。如果要避免在縮放時(shí)移動(dòng)形狀,則必須將縮放與平移結(jié)合起來.

平移,旋轉(zhuǎn)和縮放組合

當(dāng)然可以將所有三個(gè)轉(zhuǎn)換組合在同一畫布上。但是,就像組合旋轉(zhuǎn)和平移時(shí)一樣,對(duì)2D上下文進(jìn)行函數(shù)調(diào)用的順序也很重要。如果scale()在調(diào)用translate() 等之前調(diào)用,則結(jié)果看起來會(huì)有所不同。您可能需要對(duì)函數(shù)調(diào)用的順序進(jìn)行一些調(diào)整才能使其正確

返回頂部
亚洲国产精品人久久,亚洲va国产日韩欧美精品色婷婷,久久久久88色偷偷,免费人成黄页在线观看国际
五月婷婷久久综合| 欧美一级爆毛片| 亚洲乱码国产乱码精品精98午夜| 经典三级视频一区| 色综合久久久久综合体桃花网| 欧美私人免费视频| 国产精品亚洲а∨天堂免在线| 亚洲成人综合网站| 国产精品人成在线观看免费| 欧美日韩一区在线观看| 久久精品国内一区二区三区| 国产乱码精品一品二品| 日韩精品在线看片z| 欧美日韩成人综合| 亚洲欧洲国产日韩| 91久久精品一区二区三区| 亚洲免费三区一区二区| 欧美一区二区三区啪啪| 精品国产一区二区三区av性色| 天堂在线一区二区| 美国欧美日韩国产在线播放| 色94色欧美sute亚洲13| 欧美午夜影院一区| 首页国产丝袜综合| 欧美日韩国产大片| thepron国产精品| 国产精品123| 精品国产伦一区二区三区观看体验 | 天堂av在线一区| 色妞www精品视频| 99久久亚洲一区二区三区青草| 久久国产人妖系列| 亚洲激情综合网| 在线免费观看视频一区| 午夜视频一区二区三区| 高清av一区二区| 日本一区二区三区dvd视频在线| 9色porny自拍视频一区二区| 欧洲av在线精品| 国产精品国模大尺度视频| 久久嫩草精品久久久久| 丝袜亚洲另类欧美综合| 国产精品资源网站| 亚洲精品国产视频| 日韩一区有码在线| 国产原创一区二区三区| 国产久卡久卡久卡久卡视频精品| 久久国产精品72免费观看| 欧美xxxx老人做受| 日韩欧美国产综合| 亚洲成va人在线观看| 91亚洲男人天堂| 亚洲一区中文在线| 欧美日韩视频第一区| 日韩黄色免费网站| 一级日本不卡的影视| 亚洲电影第三页| 色88888久久久久久影院野外| 亚洲欧美电影一区二区| 欧美一区二区在线免费观看| 日韩你懂的在线播放| 国产精品欧美久久久久无广告| 国产精品久久久久久久裸模| 亚洲国产一区二区视频| 欧美三级日韩三级| 这里只有精品免费| 欧美亚洲动漫另类| 国产精品欧美精品| 精品日韩av一区二区| 在线免费观看日本一区| 99精品国产视频| 日韩欧美中文一区| 久久er精品视频| 久国产精品韩国三级视频| 亚洲日本va午夜在线电影| 亚洲成人动漫一区| 欧美三级中文字| 午夜精品一区二区三区三上悠亚| 日韩免费观看2025年上映的电影| 亚洲精品视频自拍| 欧美性感一区二区三区| 亚洲天堂2014| 青椒成人免费视频| 欧美狂野另类xxxxoooo| 午夜av电影一区| 精品久久久久久亚洲综合网| 国内不卡的二区三区中文字幕| 久久国产精品72免费观看| 性感美女久久精品| 成人免费视频播放| 久久天堂av综合合色蜜桃网| 国产激情一区二区三区四区| 成人免费视频一区| 91精品欧美综合在线观看最新| 欧美在线观看一二区| 日韩国产高清影视| 99久久久无码国产精品| 亚洲一区二区三区四区不卡| 91免费观看视频| 欧美浪妇xxxx高跟鞋交| 精品久久久久久久人人人人传媒| 亚洲综合色噜噜狠狠| 麻豆精品视频在线| 不卡视频免费播放| av午夜精品一区二区三区| 精品国产乱码久久久久久闺蜜| 国产一区二区电影| 国产成人午夜精品5599| 亚洲成年人影院| 精品写真视频在线观看| 国产麻豆9l精品三级站| 老司机精品视频一区二区三区| 久久婷婷色综合| 欧美精品乱码久久久久久按摩| 午夜欧美一区二区三区在线播放| 欧美日韩黄色影视| 国产成人免费视频| 国产亚洲成av人在线观看导航| 久久一区二区视频| 国产精品69久久久久水密桃| 日韩免费视频一区| 九九**精品视频免费播放| 正在播放亚洲一区| 久久精品免费观看| 美女任你摸久久| 中文字幕日本乱码精品影院| 亚洲丝袜另类动漫二区| 欧美熟乱第一页| 欧美精品一级二级| 欧美xxxx在线观看| 国产精品免费网站在线观看| 国产精品一区二区男女羞羞无遮挡| 日韩亚洲欧美高清| 五月综合激情网| 精品国产亚洲在线| 免费在线一区观看| 精品久久久久久久久久久久久久久 | 午夜日韩在线电影| 中日韩av电影| 亚洲国产精品激情在线观看| 午夜国产精品影院在线观看| 欧美一区二区三区四区在线观看 | 99精品视频在线观看免费| 欧美大片在线观看一区| 亚洲18色成人| 精品欧美乱码久久久久久| 日韩欧美一区电影| 中文字幕在线播放不卡一区| 日韩主播视频在线| 国产河南妇女毛片精品久久久| 欧美日韩免费观看一区二区三区| 国产精品99久久久久| 精品久久久久久久久久久久久久久| 国产精品久久久久久久久图文区| 日韩欧美亚洲国产另类| 极品少妇xxxx精品少妇偷拍| 五月综合激情网| 亚洲综合清纯丝袜自拍| 亚洲小少妇裸体bbw| 欧美一区二区三区成人| 国产成人午夜片在线观看高清观看| 日韩三级伦理片妻子的秘密按摩| 欧美电影免费观看完整版| 中文字幕第一区二区| 中文无字幕一区二区三区 | 国产亚洲va综合人人澡精品| 舔着乳尖日韩一区| 欧美一三区三区四区免费在线看| 92国产精品观看| 欧美精品久久久久久久多人混战 | 日本成人在线一区| 日韩女优毛片在线| 成人欧美一区二区三区黑人麻豆 | www.亚洲激情.com| 91极品美女在线| 激情综合亚洲精品| 欧美美女一区二区在线观看| 综合久久国产九一剧情麻豆| 国产一区二区三区精品视频| 日韩精品最新网址| 久久99精品久久只有精品| 欧美精品国产精品| 视频在线观看一区二区三区| 欧美日韩综合在线免费观看| 一区二区视频在线| 91国产福利在线| 亚洲成人三级小说| 欧美喷潮久久久xxxxx| 亚洲h动漫在线| 欧美精品久久99久久在免费线| 天天综合网天天综合色| 91精品国产91久久久久久一区二区| 亚洲第一激情av| 日韩一区二区不卡| 国产大陆精品国产| 亚洲欧美国产高清| 7777精品伊人久久久大香线蕉超级流畅 | 国产激情一区二区三区| 中文字幕在线观看一区二区| 在线观看国产91|