LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

HTML 21 天入门:图形图像

admin
2024年10月19日 22:16 本文热度 188

这一节主要讲两个标签 canvas 和 img。

canvas 由 HTML5 引入,用于图形绘制,而 img 标签则用于在网页上显示一个已经存在的图片。

画布(canvas)

canvas 标签只是图形容器,显示在其中的图形则需要使用脚本来绘制。

下面通过一系列的例子来说明 canvas 具备的绘制能力。

创建一个画布

<canvas   id="canvasContainer"   width="300"   height="200"   style="border:1px solid #000;" > </canvas> 

使用 Javascript 绘制图像

canvas 本身没有绘图能力,绘制工作需要使用 Javascript 来实现。

<script>   function drawSomthing() {     var c = document.getElementById("canvasContainer");     var ctx = c.getContext("2d");     ctx.fillStyle = "#FF0000";     ctx.fillRect(10, 10, 150, 75);   } </script>  <body onload="drawSomthing()">   <canvas     id="canvasContainer"     width="300"     height="200"     style="border:1px solid #000;"   >   </canvas> </body> 

在 body 的 onload 事件中,调用了方法 drawSomething。这个方法有四行代码。

第一行,获取到页面上的 canvas 元素。

第二行,获取 canvas 元素的 2d 上下文,用于后续的绘画。

第三行,指定填充的是红色。

第四行,指定填充的是长方形,前两个值是坐标,后两个值是长和宽。

canvas 绘制线条

canvas 坐标是二维网格,它从左上角(0,0)开始算起。上述例子里,(10,10, 150, 75),意思是从坐标点(10,10)开始,画一个 150*75 的长方形。

<script>   function drawLine() {     var c = document.getElementById("canvasContainer");     var ctx = c.getContext("2d");     ctx.moveTo(0, 0);     ctx.lineTo(200, 100);     ctx.stroke();   } </script>  <body onload="drawLine()">   <canvas     id="canvasContainer"     width="300"     height="200"     style="border:1px solid #000;"   >   </canvas> </body> 

canvas 绘制文本

使用 canvas 可以绘制文本,如下:

<script>   function drawText() {     var c = document.getElementById("canvasContainer");     var ctx = c.getContext("2d");     ctx.font = "30px Arial";     ctx.fillText("Hello World", 10, 50);   } </script>  <body onload="drawText()">   <canvas     id="canvasContainer"     width="300"     height="200"     style="border:1px solid #000;"   >   </canvas> </body> 

canvas 渐变填充

在使用 canvas 绘制时,填充的颜色可以是渐变的。

canvas 的渐变有两种,线条渐变和径向渐变。

<script>   function drawGradient() {     var c = document.getElementById("canvasContainer");     var ctx = c.getContext("2d");      var grd = ctx.createLinearGradient(0, 0, 200, 0);     grd.addColorStop(0, "red");     grd.addColorStop(1, "white");      ctx.fillStyle = grd;     ctx.fillRect(10, 10, 150, 80);   } </script>  <body onload="drawGradient()">   <canvas     id="canvasContainer"     width="300"     height="200"     style="border:1px solid #000;"   >   </canvas> </body> 

canvas 展现图像

使用 canvas 能够把一幅图像放置到画布上。

<script>   function drawPic() {     var c = document.getElementById("canvasContainer");     var ctx = c.getContext("2d");     var img = document.getElementById("sourceImg");     ctx.drawImage(img, 0, 0, 300, 110);   } </script>  <body onload="drawPic()">   <canvas     id="canvasContainer"     width="300"     height="200"     style="border:1px solid #000;"   >   </canvas>   <img id="sourceImg" src="../img/html-0.jpg" width="300" height="110" /> </body> 

img

img 标签不同于 canvs,它用于在网页上展示已有的图片。

img 的属性主要是 src,即要展示的图片的路径。

<img   id="sourceImg"   src="../img/html-0.jpg"   width="300"   height="110"   alt="这是一张 HTML5的示意图。" /> 

效果在前一个示例里已经有了,就不再贴图。

这里 alt 指定的文字信息,在浏览器无法加载图片时显示。告诉用户这里缺失是什么样的图片。

图片地图

img 标签搭配 map 标签,可以为图片添加可点击的区域,类似于为图片中的区域添加超链接。

<img   src="../img/3-6-0-solar-system.png"   width="466"   height="278"   alt="solar system"   usemap="#solarsystem" /> <map name="solarsystem">   <area     shape="rect"     coords="13,97,56,110"     href="3-6-1-sun.html"     alt="Sun"     title="太阳"   />   <area     shape="circle"     coords="235,95,20"     href="3-6-1-jupiter.html"     alt="Jupiter"     title="木星"   /> </map> 

以上示例里,使用了 map 标签,为太阳系图片里的行星添加了链接。

当用户的鼠标经过太阳或木星时,会显示成小手(截图里不能展现)并成为可点击的状态。此时点击它,就会跳转到对应的 href 里指定的页面上。

总结

  • 🍑 canvas 标签只是图形容器,显示在其中的图形则需要使用脚本来绘制。

  • 🍑 通过脚本可以绘制图形,填充颜色或渐变色,还可以绘制文字。

  • 🍑 img 用于展示已经有的图片,使用 map 可为 img 添加链接成为图片地图。


该文章在 2024/10/22 12:32:05 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved