Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
anvas是HTML5中的一個(gè)重要特性,它是一個(gè)可以使用JavaScript繪制圖形的HTML元素。本文將分為以下幾個(gè)部分:
接下來,我們將逐一詳細(xì)講解。
首先,我們需要在HTML文檔中添加一個(gè)Canvas元素,并設(shè)置它的寬度和高度。代碼如下:
<canvas id="canvas" width="800" height="600"></canvas>
接下來,我們需要在JavaScript中獲取這個(gè)Canvas元素,并獲取它的繪圖上下文。代碼如下:
const canvas=document.getElementById('canvas');
const ctx=canvas.getContext('2d');
在繪制樹之前,我們需要先繪制一個(gè)背景。這里我們使用Canvas的漸變函數(shù)來實(shí)現(xiàn)一個(gè)漸變色的背景。代碼如下:
const gradient=ctx.createLinearGradient(0, 0, 0, canvas.height);
gradient.addColorStop(0, '#1e3c72');
gradient.addColorStop(1, '#2a5298');
ctx.fillStyle=gradient;
ctx.fillRect(0, 0, canvas.width, canvas.height);
接下來,我們就可以開始繪制樹了。
3.1 繪制樹干
首先,我們需要繪制樹干。樹干是由一條豎直的線段組成的,我們可以通過Canvas的lineTo函數(shù)來實(shí)現(xiàn)。代碼如下:
ctx.beginPath();
ctx.moveTo(canvas.width / 2, canvas.height);
ctx.lineTo(canvas.width / 2, canvas.height - 50);
ctx.lineWidth=10;
ctx.strokeStyle='#8b5a2b';
ctx.stroke();
這段代碼中,我們首先通過beginPath函數(shù)開始一條新的路徑,然后通過moveTo函數(shù)將路徑的起點(diǎn)移動(dòng)到Canvas的中心點(diǎn),再通過lineTo函數(shù)將路徑的終點(diǎn)移動(dòng)到Canvas的底部上方50個(gè)像素的位置。最后,我們通過lineWidth和strokeStyle屬性設(shè)置線段的寬度和顏色,并通過stroke函數(shù)將路徑繪制出來。
3.2 繪制樹枝
接下來,我們需要在樹干的頂端繪制樹枝。樹枝是由多條斜線段組成的,我們可以通過遞歸函數(shù)來實(shí)現(xiàn)。代碼如下:
function drawBranch(x1, y1, angle, depth) {
if (depth===0) return;
const x2=x1 + Math.cos(angle) * depth * 10;
const y2=y1 + Math.sin(angle) * depth * 10;
ctx.beginPath();
ctx.moveTo(x1, y1);
ctx.lineTo(x2, y2);
ctx.lineWidth=depth;
ctx.strokeStyle='#8b5a2b';
ctx.stroke();
drawBranch(x2, y2, angle - 0.3, depth - 1);
drawBranch(x2, y2, angle + 0.3, depth - 1);
}
drawBranch(canvas.width / 2, canvas.height - 50, -Math.PI / 2, 10);
這段代碼中,我們定義了一個(gè)名為 drawBranch 的遞歸函數(shù)。該函數(shù)接受四個(gè)參數(shù):x1、y1表示樹枝的起點(diǎn)坐標(biāo),angle表示樹枝的傾斜角度,depth表示樹枝的深度。當(dāng)樹枝的深度為0時(shí),遞歸結(jié)束。否則,我們先通過Math.cos和Math.sin函數(shù)計(jì)算出樹枝的終點(diǎn)坐標(biāo)x2和y2,然后通過lineTo函數(shù)將路徑的終點(diǎn)移動(dòng)到該坐標(biāo)處。接著,我們通過lineWidth和strokeStyle屬性設(shè)置線段的寬度和顏色,并通過stroke函數(shù)將路徑繪制出來。最后,我們通過遞歸調(diào)用drawBranch函數(shù)來繪制下一層樹枝。
<canvas id="canvas" width="800" height="600"></canvas>
<script>
const canvas=document.getElementById('canvas');
const ctx=canvas.getContext('2d');
const gradient=ctx.createLinearGradient(0, 0, 0, canvas.height);
gradient.addColorStop(0, '#1e3c72');
gradient.addColorStop(1, '#2a5298');
ctx.fillStyle=gradient;
ctx.fillRect(0, 0, canvas.width, canvas.height);
function drawBranch(x1, y1, angle, depth) {
if (depth===0) return;
const x2=x1 + Math.cos(angle) * depth * 10;
const y2=y1 + Math.sin(angle) * depth * 10;
ctx.beginPath();
ctx.moveTo(x1, y1);
ctx.lineTo(x2, y2);
ctx.lineWidth=depth;
ctx.strokeStyle='#8b5a2b';
ctx.stroke();
drawBranch(x2, y2, angle - 0.3, depth - 1);
drawBranch(x2, y2, angle + 0.3, depth - 1);
}
drawBranch(canvas.width / 2, canvas.height - 50, -Math.PI / 2, 10);
</script>
動(dòng)畫所示,應(yīng)該加一句什么代碼呢?
希望本文能夠?qū)δ兴鶐椭兄x您的閱讀!
人人為我,我為人人,謝謝您的瀏覽,我們一起加油吧。
HTML5 中,我們除了上一節(jié)講過的可以對圖形設(shè)置平移、旋轉(zhuǎn)、縮放,還可以給圖形添加陰影效果。添加陰影的時(shí)候只需要利用圖形上下文對象的幾個(gè)關(guān)于陰影繪制的屬性就可以實(shí)現(xiàn)啦。
shadowOffsetX 屬性和 shadowOffsetY 屬性分別用于設(shè)置陰影在 X 軸和 Y 軸的延伸距離,屬性值為正值表示向下或向右延伸,負(fù)值表示向上或向左延伸。
shadowBlur 屬性用于設(shè)置陰影的模糊度,當(dāng)我們不希望圖形的陰影太清晰時(shí),可以使用這個(gè)屬性。屬性值為必須為正值,否則無效喲,一般設(shè)定在 0到10 之間。
shadowColor 屬性值用于設(shè)置陰影的顏色,屬性值可以為任意標(biāo)準(zhǔn)的 CSS 顏色值,默認(rèn)顏色為黑色。
例如給一個(gè)粉色的矩形繪制陰影。
示例:
繪制向右偏移 10 像素的陰影:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>HTML5學(xué)習(xí)(9xkd.com)</title>
</head>
<body>
<canvas id="mycanvas" width="300" height="200" style="border: 1px solid #000;"></canvas>
<script>
var can=document.getElementById("mycanvas");
var ctx=can.getContext("2d");
ctx.shadowOffsetX=10;
ctx.shadowBlur=10;
ctx.shadowColor="#000";
ctx.fillStyle="pink"; // 填充顏色
ctx.fillRect(50, 50, 150, 70);
</script>
</body>
</html>
在瀏覽器中的演示效果:
可以看到上圖中,陰影的位置向右偏移,如果想要陰影向左偏移,可以將shadowOffsetX 的值設(shè)置為負(fù)數(shù)。
示例:
如果要繪制向上偏移 20 像素的陰影,則不需要設(shè)置 shadowOffsetX,而是設(shè)置 shadowOffsetY 屬性,正值為向下偏移,負(fù)值為向上偏移:
var can=document.getElementById("mycanvas");
var ctx=can.getContext("2d");
ctx.shadowOffsetY=-20;
ctx.shadowBlur=10;
ctx.shadowColor="rgba(0, 0, 0, 0.7)"; // 設(shè)置透明度
ctx.fillStyle="pink"; // 填充顏色
ctx.fillRect(50, 50, 150, 70);
在瀏覽器中的演示效果:
可以看到這張截圖中,矩形的陰影顏色要比上面示例中淡一點(diǎn)。這是因?yàn)槲覀冊诮o陰影設(shè)置顏色時(shí),指定了一個(gè)透明度,用到了 rgba() 函數(shù),函數(shù)中第四個(gè)參數(shù)用于設(shè)置透明度,值為 0~1 之間的小數(shù),0表示完全透明,1表示不透明。
示例:
給四個(gè)邊設(shè)置陰影:
var can=document.getElementById("mycanvas");
var ctx=can.getContext("2d");
ctx.shadowBlur=10;
ctx.shadowColor="rgba(0, 0, 0, 0.7)"; // 設(shè)置透明度
ctx.fillStyle="pink"; // 填充顏色
ctx.fillRect(50, 50, 150, 70);
在瀏覽器中的演示效果:
在實(shí)際應(yīng)用中,其實(shí)我們會(huì)經(jīng)常用到陰影,例如給導(dǎo)航欄添加陰影、給按鈕添加陰影、給圖片添加陰影等,這樣看上去就會(huì)更立體一些,增加層次感。
了解更多可查看鏈接:https://www.9xkd.com/
SS全稱“Cascading Style Sheet”,它的意思是“層疊樣式表”或“級聯(lián)樣式表”,CSS盒子模型是在網(wǎng)頁設(shè)計(jì)中用到的CSS技術(shù)中引用的一種思維模型。CSS盒子模型由內(nèi)容區(qū)、填充、邊框、空白邊組成。
由于CSS盒子模型是CSS中的一個(gè)重要概念,每一個(gè)元素都可以當(dāng)作一個(gè)矩形的盒子,這個(gè)矩形盒子可以描述元素所占空間內(nèi)容。CSS盒子模型更方便了設(shè)計(jì)者對網(wǎng)頁設(shè)計(jì)的整體把控。
用億圖圖示繪制CSS盒子模型十分簡單,只需要找到指定模板即可,新手參考以下幾個(gè)步驟即可完成CSS盒子模型的繪制。
第一步:下載“億圖圖示”軟件,啟動(dòng)軟件界面,登錄賬號開始操作。
第二步:點(diǎn)擊搜索框輸入“CSS盒子模型”,尋找符合設(shè)計(jì)要求的CSS盒子模型模板,點(diǎn)擊“使用”打開CSS盒子模型模板。
第三步:點(diǎn)擊操作區(qū)的CSS盒子模型,根據(jù)自己的需要,在模板上修改各層次的注釋,在上方操作區(qū)更改字體為黑體,并更改字體大小。
第四步:雙擊CSS盒子模型中的“文本”方框,即可輸入CSS盒子模型中的文本,右側(cè)填充可以修改填充色、邊框顏色。
第五步:完成CSS盒子模型制作之后,點(diǎn)擊左上角的“保存”等按鈕,本次選擇保存為讓圖片格式,修改好分辨率等參數(shù)之后,CSS盒子模型就可以存儲(chǔ)在電腦中。
以上就是CSS盒子模型繪制方法的相關(guān)介紹。
當(dāng)有繪制CSS盒子模型的需求時(shí),選擇億圖圖示這款國產(chǎn)矢量繪圖軟件,讓用戶繪圖事半功倍。
億圖圖示是一款與眾不同的矢量繪圖軟件,它采用了與其他繪圖軟件完全不同的思維模式設(shè)計(jì)開發(fā),在滿足了用戶基本的繪圖需求基礎(chǔ)上,開發(fā)了模板套用功能,讓繪圖的效率提高許多,同時(shí),在云存儲(chǔ)的加持下,億圖圖示用戶可以隨時(shí)隨地繪制作品。
使用億圖圖示繪制CSS盒子模型,直接套用一個(gè)模板,在原有基礎(chǔ)上修改、添加需要的元素,提升繪圖效率。
1、可靠軟件,值得信賴:億圖圖示經(jīng)過了九個(gè)大版本的升級,軟件可靠程度大幅增加,現(xiàn)在已經(jīng)擁有超過900萬用戶,龐大的使用群體是億圖圖示經(jīng)受住市場優(yōu)勝劣汰的體現(xiàn)。
2、軟件資源庫強(qiáng)大,滿足繪圖需求:億圖圖示擁有數(shù)量龐大的矢量符號庫和模板庫,當(dāng)用戶繪圖時(shí)可以很輕松的找到自己需要的符號,即使符號很特殊在庫中找不到,用戶也可以自行繪制或者導(dǎo)入本地符號圖形、從庫外調(diào)用。
3、先用后付,性價(jià)比高:億圖圖示為新用戶謀福利,凡是新注冊的億圖圖示賬戶,均可長期使用免費(fèi)基礎(chǔ)版本。當(dāng)有高級需求的時(shí)候,可以再升級購買會(huì)員版。
*請認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。