1. 程式人生 > >HTML5之繪製圖像和文字

HTML5之繪製圖像和文字

1.繪製圖像的方法

  • context.drawImage(imageObj,x,y);

            此方法需要一個影象物件和一個起始點作為引數,其中起始點座標是相對於canvas的左上角的位置

  • context.drawImage(imageObj,x,y,width,height);width,height是用來指定顯示影象的尺寸
  • ​​​​​​​ context.drawImage(imageObj,sx,sy,sw,sh,dx,dy,dw,dh);

                    img

規定要使用的影象、畫布或視訊。

                    sx:開始剪下的 x 座標位置。

                    sy:開始剪下的 y 座標位置。

                    sw:被剪下影象的寬度。

                    sh:

被剪下影象的高度。

                    dx:在畫布上放置影象的 x 座標位置。

                   dy:在畫布上放置影象的 y 座標位置。

                   width:要使用的影象的寬度。(伸展或縮小影象)

                  height

:要使用的影象的高度。(伸展或縮小影象)

<html>
<head>
	<title></title>
	<style type="text/css">
		#myCanvas{
			border: 1px solid blue;
			background-color: #77ffcc;
		}
	</style>
	<script type="text/javascript">
		window.onload=function(){
			var canvas=document.getElementById("myCanvas");
			var context=canvas.getContext("2d");
			var imageObj=new Image();
			imageObj.src="img/123.jpg";
			imageObj.onload=function(){
				//context.drawImage(imageObj,10,10);//原始圖片大小
				//context.drawImage(imageObj,10,10,200,300);//指定繪製圖像的大小
				context.drawImage(imageObj,50,40,300,450,50,50,350,450);//擷取影象
			}
		}
	</script>
</head>
<body>
   <canvas id="myCanvas" width="500" height="200"></canvas>
</body>
</html>

2.繪製文字

    繪製文字的方法:context.fillText(Text,x1,y1);其中Text是要繪製的文字,x1,y1是繪製文字的位置

   設定文字的字型、大小和樣式:font屬性,樣式可以是normal、italic或bold。預設是normal。

   設定文字顏色:使用fillStyle屬性設定。 

   描繪文字邊緣:使用strokeText()方法替代fillText(),同時使用strokeStyle代替fillStyle屬性。

<html>
<head>
	<title></title>
	<style type="text/css">
		#myCanvas{
			border: 1px solid blue;
			background-color: #77ffcc;
		}
	</style>
	<script type="text/javascript">
		window.onload=function(){
			var canvas=document.getElementById("myCanvas");
			var context=canvas.getContext("2d");
			var x=100;
			var y=100;
			context.font="italic 40px Arial";
			context.strokeStyle="#0000ff";
			context.lineWidth=2;//設定描邊寬度
			context.strokeText("hello world",x,y);
		}
	</script>
</head>
<body>
     <canvas id="myCanvas" width="500" height="200"></canvas> 
</body>
</html>

 

    繪製文字對齊:textAlign屬性,可用的選項包括start、end、left、center和right。

    文字度量:使用measureText()方法獲取文字的尺度資訊,

    文字換行:需要建立一個使用者自定義函式,此函式需要canvas上下文物件、一個文字字串、一個位置、一個最大寬度和行高度資訊。函式將使用measureText()計算何時換行。