91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

HTML5 Canvas 填充與描邊(Fill And Stroke)

發布時間:2020-06-22 14:34:18 來源:網絡 閱讀:454 作者:gloomyfish 欄目:移動開發

HTML5 Canvas 填充與描邊(Fill And Stroke)

演示HTML5 Canvas Fill 與Stroke文字效果,基于Canvas如何實

現紋理填充與描邊。

一:顏色填充與描邊

顏色填充可以通過fillStyle來實現,描邊顏色可以通過strokeStyle來實現。簡單示例

如下:

// fill and stroke text

ctx.font = '60pt Calibri';

ctx.lineWidth = 3;

ctx.strokeStyle = 'green';

ctx.strokeText('Hello World!', 20, 100);

ctx.fillStyle = 'red';

ctx.fillText('Hello World!', 20, 100);

二:紋理填充與描邊

HTML5 Canvas還支持紋理填充,通過加載一張紋理圖像,然后創建畫筆模式,創建

紋理模式的API為ctx.createPattern(imageTexture,"repeat");第二參數支持四個

值,分別為”repeat-x”, ”repeat-y”, ”repeat”,”no-repeat”意思是紋理分別沿著

X軸,Y軸,XY方向沿重復或者不重復。紋理描邊與填充的代碼如下:

var woodfill = ctx.createPattern(imageTexture,"repeat");

ctx.strokeStyle = woodfill;

ctx.strokeText('Hello World!', 20, 200);

// fill rectangle

ctx.fillStyle = woodfill;

ctx.fillRect(60, 240, 260, 440);

紋理圖片:

HTML5 Canvas 填充與描邊(Fill And Stroke)

三:運行效果

HTML5 Canvas 填充與描邊(Fill And Stroke)

代碼:

<!DOCTYPE html> <html> <head> <meta http-equiv="X-UA-Compatible" content="chrome=IE8"> <meta http-equiv="Content-type" content="text/html;charset=UTF-8"> <title>Canvas Fill And Stroke Text Demo</title> <link href="default.css" rel="stylesheet" /> 	<script> 		var ctx = null; // global variable 2d context 		var imageTexture = null; 		window.onload = function() { 			var canvas = document.getElementById("text_canvas"); 			console.log(canvas.parentNode.clientWidth); 			canvas.width = canvas.parentNode.clientWidth; 			canvas.height = canvas.parentNode.clientHeight; 			 			if (!canvas.getContext) { 			    console.log("Canvas not supported. Please install a HTML5 compatible browser."); 			    return; 			} 			 			// get 2D context of canvas and draw rectangel 			ctx = canvas.getContext("2d"); 			ctx.fillStyle="black"; 			ctx.fillRect(0, 0, canvas.width, canvas.height); 			 			// fill and stroke text 			ctx.font = '60pt Calibri'; 			ctx.lineWidth = 3; 			ctx.strokeStyle = 'green'; 			ctx.strokeText('Hello World!', 20, 100); 			ctx.fillStyle = 'red'; 			ctx.fillText('Hello World!', 20, 100); 			 			// fill and stroke by pattern 			imageTexture = document.createElement('img'); 			imageTexture.src = "../pattern.png"; 			imageTexture.onload = loaded(); 		} 		 		function loaded() { 			// delay to image loaded 			setTimeout(textureFill, 1000/30); 		} 		 		function textureFill() { 			// var woodfill = ctx.createPattern(imageTexture, "repeat-x"); 			// var woodfill = ctx.createPattern(imageTexture, "repeat-y"); 			// var woodfill = ctx.createPattern(imageTexture, "no-repeat"); 			var woodfill = ctx.createPattern(imageTexture, "repeat"); 			ctx.strokeStyle = woodfill; 			ctx.strokeText('Hello World!', 20, 200); 			 			// fill rectangle 			ctx.fillStyle = woodfill; 			ctx.fillRect(60, 240, 260, 440); 		} 		 	</script> </head> <body> 	<h2>HTML5 Canvas Text Demo - By Gloomy Fish</h2> 	<pre>Fill And Stroke</pre> 	<div id="my_painter"> 		<canvas id="text_canvas"></canvas> 	</div> </body> </html>

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

含山县| 阿克苏市| 凤台县| 马关县| 南澳县| 遵义县| 易门县| 高唐县| 通辽市| 合阳县| 墨脱县| 韩城市| 南召县| 沂南县| 武清区| 连江县| 电白县| 永昌县| 阆中市| 宁波市| 华池县| 昌江| 花莲县| 威海市| 华蓥市| 宁明县| 洛扎县| 永福县| 开鲁县| 治多县| 乐至县| 象山县| 鄂伦春自治旗| 新巴尔虎左旗| 伊宁县| 会泽县| 苏尼特右旗| 繁昌县| 皮山县| 中牟县| 民乐县|