《智能前端技术与实践》——第 2 章 前端开发基础 ——2.2 HTML基础——2.2.2 常用标签 (下)

简介: 《智能前端技术与实践》——第 2 章 前端开发基础 ——2.2 HTML基础——2.2.2 常用标签 (下)

《智能前端技术与实践》——第 2 章 前端开发基础 ——2.2 HTML基础——2.2.2 常用标签 (上) https://developer.aliyun.com/article/1228307?groupCode=tech_library  


5标签

Canvas API提供了一种通过JavaScriptHTML>元素来绘制图形的方式,它可

以用于动画、游戏画面、数据可视化、图片编辑及实时视频处理等方面的内容。使用>

概可以分为两个步骤。

首先,在HTML文档中定义标签,如代码清单2-12所示。


代码清单 2-12


<canvaswidth="500"height="500"style="border: 1px solid red"id="canvas"></canvas>

标签只有两个属性——width height。当没有设置宽度和高度的时候,

会初始化尺寸为300×150的矩形。

然后,获取nvas>对象的上下文并判断getContext()方法是否存在,如代码清单2-13所示。

代码清单2-13


varcanvas=document.getElementById("canvas")
if (canvas.getContext){
varctx=canvas.getContext("2d");
}

最后,在页面中分别绘制圆形、直线和矩形框,如代码清单 2-14 所示。


代码清单 2-14


<!DOCTYPE html><htmllang="en"><head><metacharset="UTF-8"><title>canvas Demo</title></head><body><canvaswidth="500"height="500"style="border: 1px solid red"id="canvas"></canvas><script>varcanvas=document.getElementById("canvas")
if (canvas.getContext){
varctx=canvas.getContext("2d");
//画圆ctx.beginPath()
ctx.moveTo(250,100)
ctx.arc(250,100,10,0,2*Math.PI)
ctx.fillStyle="blue"ctx.fill()
ctx.closePath()
//画直线ctx.beginPath()
ctx.moveTo(100,250)
ctx.lineTo(400,250)
ctx.strokeStyle="green"ctx.stroke()
ctx.closePath()
//画矩形ctx.beginPath()
ctx.rect(100,300,300,100)
ctx.strokeStyle="aqua"ctx.stroke()
ctx.closePath()
}
</script></body></html>

运行结果如图2-21所示


image.png


接下来,我们介绍上述代码中用到的相关API方法。

beginPath():通过清空子路径列表开始一条新的路径,其调用方法为CanvasRenderingContext2D.beginPath()

closePath():将笔点返回当前子路径的起始点,并从当前点到起始点绘制一条直线,如果图形已经是封闭图形或仅有一个点,此方法不做任何操作。

moveTo(x,y):将一条新的子路径的起点移动到(x,y)

lineTo(x,y):使用直线连接子路径的终点与(x,y)

arc(x,y,radius,startAngle,endAngle,anticlockwise):绘制圆心坐标为(x,y)、半径为radius的弧,根据anticlockwise(默认为顺时针)指定的方向从startAngle开始绘制,到endAngle结束。

stroke():通过线条来绘制图形轮廓。

fill()方法:根据填充路径的内容区域生成实心的图形。

另外,我们可以通过指定strokeStyle的值设置图形轮廓的颜色;通过指定fillStyle的值设置图形的填充颜色,默认值均为黑色(#000000)。

最后,结合代码清单 2-15,介绍指针设备(如鼠标指针)在对象中移动时触发的事件mousemove


代码清单 2-15


<!DOCTYPE html><htmllang="en"><head><metacharset="UTF-8"><title>你画我猜(MNIST 手写数字版)canvas 示例</title></head><body><canvaswidth="500"height="500"style="border: 1px solid red"id="canvas"></canvas><buttonid="clear">清除画布</button><script>varcanvas=document.getElementById("canvas")
varoclear=document.getElementById("clear")
if (canvas.getContext){
varctx=canvas.getContext("2d");
canvas.onmousemove= (e) => {
if(e.buttons==1){
ctx.fillStyle="black"ctx.fillRect(e.offsetX,e.offsetY,5,5)
}
}
oclear.onclick= () => {
ctx.clearRect(0,0,500,500)
}
}
</script></body></html>

运行结果如图 2-22 所示。


image.png

相关文章
|
3月前
|
人工智能 移动开发 前端开发
WeaveFox:蚂蚁集团推出 AI 前端智能研发平台,能够根据设计图直接生成源代码,支持多种客户端和技术栈
蚂蚁团队推出的AI前端研发平台WeaveFox,能够根据设计图直接生成前端源代码,支持多种应用类型和技术栈,提升开发效率和质量。本文将详细介绍WeaveFox的功能、技术原理及应用场景。
4014 68
WeaveFox:蚂蚁集团推出 AI 前端智能研发平台,能够根据设计图直接生成源代码,支持多种客户端和技术栈
|
1月前
|
JSON 前端开发 API
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
72 5
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
|
1月前
|
前端开发
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
54 1
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
|
2月前
|
移动开发 前端开发 搜索推荐
《前端技术基础》第01章 HTML基础【合集】
超文本标记语言(HyperText Markup Language,简称 HTML)是构建网页结构的基础标记语言。它与 CSS、JavaScript 协同,负责搭建网页“骨架”,用标签组织内容,像标题、段落、图片等元素,通过起始与结束标签(部分可单用,如`<img>`)界定层级与布局,将信息有序整合。标签含特定语义,向浏览器传达展示方式,为网页准确呈现及后续美化、交互筑牢根基。
102 25
|
3月前
|
人工智能 前端开发 JavaScript
前端基础之HTML
Web1.0、Web2.0 和 Web3.0 标志着互联网发展的三个阶段。Web1.0(静态互联网,1990年代初至2000年代初)以静态内容和单向信息流为主,用户仅能浏览。Web2.0(互动互联网,2000年代初至2010年代初)引入了用户生成内容和社交网络,内容动态且互动性强。Web3.0(语义互联网,2010年代至今)强调语义化、个性化、智能化及去中心化,结合AI、区块链等技术,提供沉浸式体验。HTTP和HTML作为互联网基础协议和技术,在各阶段不断演进,共同推动了现代互联网的发展。
前端基础之HTML
|
4月前
|
前端开发 JavaScript 搜索推荐
HTML与CSS在Web组件化中的核心作用及前端技术趋势
本文探讨了HTML与CSS在Web组件化中的核心作用及前端技术趋势。从结构定义、语义化到样式封装与布局控制,两者不仅提升了代码复用率和可维护性,还通过响应式设计、动态样式等技术增强了用户体验。面对兼容性、代码复杂度等挑战,文章提出了相应的解决策略,强调了持续创新的重要性,旨在构建高效、灵活的Web应用。
79 6
|
4月前
|
机器学习/深度学习 移动开发 自然语言处理
HTML5与神经网络技术的结合有哪些其他应用
HTML5与神经网络技术的结合有哪些其他应用
66 3
|
4月前
|
设计模式 前端开发 JavaScript
揭秘!前端大牛们如何巧妙利用JavaScript,打造智能交互体验!
【10月更文挑战第30天】前端开发领域充满了无限可能与创意,JavaScript作为核心语言,凭借强大的功能和灵活性,成为打造智能交互体验的重要工具。本文介绍前端大牛如何利用JavaScript实现平滑滚动、复杂动画、实时数据更新和智能表单验证等效果,展示了JavaScript的多样性和强大能力。
118 4
|
4月前
|
机器学习/深度学习 移动开发 自然语言处理
HTML5与神经网络技术的结合有哪些
HTML5与神经网络技术的结合有哪些
69 2
|
4月前
|
自然语言处理 前端开发 搜索推荐
前端界的黑科技:掌握这些技术,让你的网站秒变智能助手!
【10月更文挑战第30天】随着前端技术的发展,网站正逐渐变成智能助手。本文探讨了四大关键技术:自然语言处理(NLP)使网站理解用户输入;机器学习实现个性化推荐;Web Notifications API发送重要提醒;Web Speech API实现语音交互。通过这些技术,网站不仅能更好地理解用户,还能提供更智能、个性化的服务,提升用户体验。
90 3

热门文章

最新文章