日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

html5 窗口变形,HTML5画布(变形)

發布時間:2023/12/1 HTML 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 html5 窗口变形,HTML5画布(变形) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

坐標變換

案例1:

function draw(){

var c=document.getElementById("myCanvas");

var cxt= c.getContext("2d");

cxt.translate(200,50);

cxt.fillStyle='rgba(255,0,0,0.25)';

for(var i=0;i<40;i++)

{

cxt.translate(25,25);

cxt.scale(0.9,0.9);

cxt.rotate(Math.PI/10);

cxt.fillRect(0,0,100,50);

}

}

您的瀏覽器不支持

效果圖:

注釋:

(1)平移

cxt.translate( x , y );

translate方法使用兩個參數,x表示將坐標軸原點向左移動多少個單位,默認情況下為像素,y表示將坐標軸原點向下移動多少個單位。

(2)擴大

cxt.scale( x , y );

scale方法使用兩個參數,x是水平方向的放大倍數,y是垂直方向的放大倍數;將圖形縮小的時候,將這兩個參數設為0到1之間的小數就可以了,譬如0.5是指將圖形縮小一半。

(3)旋轉

cxt.rotate(angle);

rotate方法接受一個參數angle,angle是指旋轉的角度,旋轉的中心點是坐標軸的原點。旋轉是以順時針方向進行的,要想逆時針旋轉時,將angle設定為負數就可以了。

案例2

function draw(){

var c=document.getElementById("myCanvas");

var cxt= c.getContext("2d");

cxt.fillStyle="#eeeeff";

cxt.fillRect(0,0,400,320);

cxt.translate(60,60);

for( var i=0;i<6;i++)

{

cxt.translate(50,50);

cxt.scale(0.8,0.8);

cxt.rotate(Math.PI/10);

createStar(cxt);

cxt.fill();

}

function createStar(cxt){

var n=0;

var dx=0;

var dy=0;

var s=50;

cxt.beginPath();

cxt.fillStyle='rgba(255,0,0,0.5)';

var x=Math.sin(0);

var y=Math.cos(0);

var dig=Math.PI/5*4;

for(var i=0;i<5;i++)

{

var x=Math.sin(i*dig);

var y=Math.cos(i*dig);

cxt.lineTo(dx+x*s,dy+y*s);

}

cxt.closePath();

}

}

您的瀏覽器不支持

效果圖:

注釋:

(1)如果要對矩形進行變形,使用坐標變換就足夠了。

(2)createStar函數中,只創建了一個五角星,因坐標軸變換,在Canvas畫布中,此五角星會一邊縮小一邊旋轉,之后產生一個新的五角星,新的五角星又采用同樣的方法進行繪制,最終繪制出一串變形效果的五角星。

總結

以上是生活随笔為你收集整理的html5 窗口变形,HTML5画布(变形)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。