canvas标签

HTML5的canvas元素提供了一种使用JavaScript进行页面图像绘制的能力。你可以控制每个页面元素,包括绘制实心和空心矩形、圆形、文字以及添加图像。通过fillRect和strokeRect方法来创建矩形,fillStyle和strokeStyle定义颜色。圆形、文字和图像的绘制为canvas添加更多可能性,同时线性渐变进一步丰富了视觉效果。

canvas标签

H5 canvas画布

HTML 5 的canvas元素是

  • Javascript页面绘制图像 的画布
  • 画布上一个矩形,可以控制页面的每一个元素
  • 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法等。

1、 首先创建一个画布(canvas),
获取canvas标签
创建一个对象,对画布开始描绘

<canvas id="canvas">
您的浏览器不支持canvas标签!
</canvas>
    <script>
        var canvas = document.getElementById("canvas")
            //创建获取画布对象(画笔)
        var cxt = canvas.getContext("2d")
    </script>

1、 绘制矩形:实心 / 空心
fillRect:表示实心矩形
fillStyle: 表示实心矩形的颜色
strokeRect:表示空心矩形
strokeStyle“表示空心矩形的颜色

其中,fillRect有四个参数,依次分别是在画布上x,y,矩形的width ,height。矩形的默认颜色是黑色,
且必须写在样式之前。

		cxt.fillStyle = "red"
        cxt.fillRect(10, 10, 100, 100);// 实心矩形
        //空心圆同理

2、绘制圆形

			//创建一个路径
			context.beginPath()
			context.arc(280,60,50,0,Math.PI * 1.8);
			context.closePath();//关闭路径
			context.stroke()

3、绘制文字

			context.shadowBlur = 5;//设置阴影模糊度
			context.shadowColor = "red";//颜色
			//阴影模糊的与字体的距离
			context.shadowOffsetX = -20;
			context.shadowOffsetY = -20;
			context.font = "40px 微软雅黑";
//			//可以设置文字对齐
//			context.textAlign = "center";
			context.fillText("随便",200,150);

4、在画布中添加图片

			var myimg = new Image();
			myimg.src = "图片的路径";
			//利用onload 事件预加载图片才能显示
			myimg.onload = function(){
				context.drawImage(myimg,10,10,300,300);
			}

5、线性渐变

			var grad = cxt.createLinearGradient(0,0,400,300);//
			grad.addColorStop(0,"red");//透明度,颜色
			grad.addColorStop(1,"blue");
			
			cxt.fillStyle = grad;
			cxt.fillRect(0,0,400,300);
		
### HTML Canvas 标签的位置设置 通过 CSS 可以灵活地控制 `<canvas>` 标签的位置。以下是关于如何使用 `position` 属性以及边距属性 (`margin`) 来调整 `<canvas>` 的具体方法。 #### 使用 Position 定位 CSS 中的 `position` 属性可以用来精确定义元素的位置。对于 `<canvas>` 标签,可以通过以下几种方式来定位: - **Static**: 默认值,不改变任何位置。 - **Relative**: 相对自身原来的位置偏移。 - **Absolute**: 相对于最近的已定位祖先元素进行绝对定位;如果没有,则相对于文档根部。 - **Fixed**: 固定于视口中的某个位置,不会随滚动条移动而变化[^2]。 下面是一个例子展示如何利用这些特性设定 `<canvas>` 的位置: ```css #canvas { position: absolute; top: 50px; /* 距离顶部的距离 */ left: 100px; /* 距离左侧的距离 */ } ``` #### 利用 Margin 进一步微调 除了上述的方法外,还可以借助 `margin` 来进一步调节 `<canvas>` 周围的空间大小。例如: - 单一值应用到四个方向:`margin: 10px;` - 上下/左右分别指定两个值:`margin: 10px 20px;` - 各自独立定义三个方向(上、右左、下):`margin: 10px 20px 30px;` - 所有四面都单独赋值:`margin: 10px 20px 30px 40px;`[^1] 需要注意的是,“margin-top”的传递问题通常发生在父级容器未清除浮动或者存在塌陷的情况下,这可能会影响子元素如 `<canvas>` 的实际显示效果。 综合以上两种技术手段即可实现精确摆放您的画布对象至理想区域。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值