canvas画布+form表单部分属性

本周学习知识点:

一、HTML5 Canvas画布

    1. Canvas画布介绍

    2. 绘制线段、虚线

    3. 绘制矩形

    4. 绘制圆形、圆角

    5. 绘制图像、平铺

    6. 绘制文字

    7. 绘制渐变图形

    8. 绘制视频

二、HTML5的智能表单

 

三、图像截取

 

四、动画效果

 

 

一、HTML5 Canvas画布

    A、canvas画布介绍

     HTML5中的canvas 标签用于绘制图像,不过<canvas>元素本身没有绘制能力(它仅仅是图形的容器)。画布对象的getContext()方法返回一个对象,该对象提供了用于在画布上绘图的方法和属性。

    B、绘制线段

     绘制线段需要两个条件:

   开始点:context.moveTo()

   结束点:context.lineTo()

     C、绘制矩形

        一.  开启新路径beginPath()

            结束关闭路径:closePath()

             rect()方法绘制

             描边stroke()/填充fill()

        二.  fillRect()方法直接绘制填充图形

             strokeRect()  绘制描边图形

             clearRect() 清除画布

      D、绘制圆形

          arc()  绘制圆形(x,y,半径,起始弧度,结束弧度,顺时针还是逆时针)

          arc方法绘制

          lineWidth   设置线宽

          strokeStyle  绘制样式

      E、绘制文字

      strokeStyle       设置描边属性 

      strokeText(文字,x,y)  绘制描边文字

      fillStyle        设置填充属性

      fillText(文字,x,y)     填充文字

      font设置字体属性

      F、绘制渐变

         渐变分为线性渐变 和 径向渐变(放射渐变)

         createLinearGradient(sx,sy,ex,ey)

         addColorStop();  介于0.0-1.0之间的值,表示开始与结束的位置

二、HTML5智能表单

    HTML5 新的特性:为了排版美观,不需要每个表单项都嵌套,给form标签指定id属性;其他的表单项(input textarea select)增加form属性,值等于 id值。

        A、表单新增的type属性

        type="email"限制用户输入必须为Email类型

        type="url"限制用户输入必须为URL类型

        type="date"限制用户输入必须为日期类型

        type="time"限制用户输入必须为时间类型Opera

        type="month"限制用户输入必须为月类型Opera

        type="week"限制用户输入必须为周类型Opera

        type="number"限制用户输入必须为数字类型

        type="range"产生一个滑动条的表单

        type="search"产生一个搜索意义的表单 配合results="n"属性 C

        type="color"生成一个颜色选择表单

       B、表单新增的属性

          属性         值

          Required    required (必填)

          placeholder提示文本

          Autofocus    autofocus   (自动的焦点)

          Pattern    正则表达式

      C、自动填充 autocomplete

         datalist标签配合option标签实现的自动填充表单功能:

        <input type="search" name="move" list="search" >

        <datalist id="search" >

       <option>PHP教程</option>

       <option>PHP怎么样?</option>

       </datalist>

三、 saverestore的区别:

     每次调用 save()方法就会把当前的状态保存起来,

    每次使用 restore()方法,就会将上次保存的状态恢复(将当前的图层和原来的整合在一起)

学习总结:

一.自定义函数绘制虚斜线

<body>

<canvas id="canvas" width="300" height="300" style="border:1px solid #ccc"></canvas>

</body>

<script>

var canvas=document.getElementById('canvas');

var cxt=canvas.getContext('2d');

function slant(sx,sy,ex,ey,len){

var w=ex-sx;

var h=ey-sy;

var length=Math.sqrt(w*w+h*h);

var dashNum=length/len;

for(var i=0;i<dashNum;i++){

if(i%2==0){

cxt.moveTo(sx+i*(w/dashNum),sy+i*(h/dashNum));

}else{

cxt.lineTo(sx+i*(w/dashNum),sy+i*(h/dashNum));

}

cxt.stroke();

}

}

//slant(0,0,100,30,5);

slant(10,100,100,30,5);

//slant(20,20,150,200,10);

</script>

二、绘制矩形

<script>

//绘制能力都是通过js来设置的

var canvas = document.getElementById("canvas");

var context = canvas.getContext("2d");

//绘制矩形

context.rect(0,0,200,100); //配合 stroke()或者 fill()方法

//context.strokeRect(0,0,100,50);

//描边

context.stroke();

//填充

context.fill();

//填充

//context.fillStyle = 'green';//设置填充的样式

//context.fillRect(0,0,100,50);

</script>

 

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="expires" content="0"> <meta http-equiv="refresh" content="60"> <meta name="keywords" content="王勃,唐代,诗人"> <meta name="robots" content="index,follow"> <title>王勃及其名诗</title> </head> <body> <header> <h1>王勃及其名诗</h1> <nav> <ul> <li><a href="#introduction">简介</a></li> <li><a href="#poems">代表作</a></li> <li><a href="#conclusion">结论</a></li> </ul> </nav> </header> <section id="introduction"> <h2>简介</h2> <p>王勃(650年-676年),字子安,唐代初期著名的文学家和政治家。其诗歌以豪放派为主,代表作有《滕王阁序》、《秋风词》等。</p> <blockquote> <p>凌波不过横塘路,但目送,芳尘去。锦瑟华年谁与度?月桥花院,琐窗朱户,只有春知处。</p> <footer> <cite>《秋风词》</cite> </footer> </blockquote> </section> <section id="poems"> <h2>代表作</h2> <article> <h3>《滕王阁序》</h3> <p>始建于唐太宗贞观元年(627年),是一座历史悠久的楼阁,位于江苏扬州市广陵区瘦西湖畔。</p> <img src="tengwangge.jpg" alt="滕王阁" usemap="#tengwangge-map"> <map name="tengwangge-map"> <area shape="rect" coords="0,0,100,100" href="https://baike.baidu.com/item/%E6%BB%95%E7%8E%8B%E9%98%81" target="_blank" alt="滕王阁百度百科"> </map> </article> <article> <h3>《秋风词》</h3> <audio src="qiu_feng_ci.mp3" controls>您的浏览器不支持 HTML5 音频元素。</audio> <video src="qiu_feng_ci.mp4" controls>您的浏览器不支持 HTML5 视频元素。</video> <ol> <li>凌波不过横塘路</li> <li>但目送,芳尘去</li> <li>锦瑟华年谁与度</li> <li>月桥花院,琐窗朱户</li> <li>只有春知处</li> </ol> </article> </section> <section id="conclusion"> <h2>结论</h2> <table> <thead> <tr> <th>作品</th> <th>类型</th> <th>评价</th> </tr> </thead> <tbody> <tr> <td>《滕王阁序》</td> <td>散文</td> <td>被誉为“千古文章”,是中国文学史上的经典之作。</td> </tr> <tr> <td>《秋风词》</td> <td>词</td> <td>王勃的词作中,这首《秋风词》被人们传颂最为广泛。</td> </tr> </tbody> </table> <form action="#" method="post" target="_blank" enctype="multipart/form-data"> <fieldset> <legend>留言板</legend> <label for="name">姓名:</label> <input type="text" id="name" name="name" required placeholder="请输入您的姓名"><br> <label for="email">邮箱:</label> <input type="email" id="email" name="email" required placeholder="请输入您的邮箱"><br> <label for="message">留言:</label> <textarea id="message" name="message" rows="4" cols="40" required placeholder="请输入您的留言"></textarea><br> <input type="submit" value="提交"> </fieldset> </form> <button onclick="alert('感谢您的阅读!')">点个赞吧</button> <canvas id="myCanvas" width="300" height="150"> 您的浏览器不支持 HTML5 画布元素。 </canvas> <style> #myCanvas { border: 1px solid black; } </style> <script> var c = document.getElementById("myCanvas"); var ctx = c.getContext("2d"); ctx.font = "30px Arial"; ctx.fillText("Hello World", 10, 50); </script> <address> 联系我们:北京市海淀区中关村大街1号<br> 电话:010-12345678<br> <a href="mailto:wangbo@example.com">wangbo@example.com</a> </address> <footer> <p>版权所有 © 2021 王勃</p> </footer> </section> </body> </html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值